Kein Logging-System funktioniert vollständig (ab Version 2.26 sowieso, sehr alte Versionen hatten vielleicht ein anderes Verhalten)
Eine gute Lösung ist es, "Haken" zu verwenden und Details zu drucken, wenn sie passieren.
Dies wird hier recht gut erklärt: https://findwork.dev/blog/advanced-usage-python-requests-timeouts-retries-hooks/
unter "alles drucken",
aber für den Fall, dass der Link nicht funktioniert, hier die wichtigsten Teile
import requests
from requests_toolbelt.utils import dump
def logging_hook(response, *args, **kwargs):
data = dump.dump_all(response)
print(data.decode('utf-8'))
http = requests.Session()
http.hooks["response"] = [logging_hook]
http.get("https://api.openaq.org/v1/cities", params={"country": "BA"})
Das Ergebnis wird diesmal eine vollständige Aufzeichnung der gesendeten Anfrage und der empfangenen Antwort sein.
Ich habe es erfolgreich mit POST und vielen Headern ausprobiert: es funktioniert. Vergessen Sie nicht, pip zu installieren requests_toolbelt.
# Output
< GET /v1/cities?country=BA HTTP/1.1
< Host: api.openaq.org
> HTTP/1.1 200 OK
> Content-Type: application/json; charset=utf-8
> Transfer-Encoding: chunked
> Connection: keep-alive
>
{
"meta":{
"name":"openaq-api",
"license":"CC BY 4.0",
"website":"https://docs.openaq.org/",
"page":1,
"limit":100,
"found":1
},
"results":[
{
"country":"BA",
"name":"Goražde",
"city":"Goražde",
"count":70797,
"locations":1
}
]
}