Python 2.7 requests.get при использовании с HTTPDigestAuth отбрасывает строку запроса - PullRequest
1 голос
/ 29 мая 2020
r = requests.get("http://192.168.28.111:80/is-cgi/com/ctw.cgi?query=limits", auth=HTTPDigestAuth(self.username, self.password))
print(r.url)
>>http://192.168.28.111:80/is-cgi/com/ctw.cgi

Напечатанный URL потерял строку запроса. Если я удалю параметр auth, URL-адрес правильно сохранит строку запроса в конце URL-адреса.

r = requests.get("http://192.168.28.111:80/is-cgi/com/ctw.cgi?query=limits")
print(r.url)
>>http://192.168.28.111:80/is-cgi/com/ctw.cgi?query=limits

Я попытался передать запрос с помощью ключевого слова params, но возникла та же проблема.

r = requests.get("http://192.168.25.243:80/is-cgi/com/ctw.cgi", params={'query': 'limits'}, auth=HTTPDigestAuth(self.username, self.password))
print(r.url)
>>http://192.168.28.111:80/is-cgi/com/ctw.cgi

Использование basi c auth генерирует правильный URL.

r = requests.get("http://192.168.28.111:80/is-cgi/com/ctw.cgi?query=limits", auth=HTTPBasicAuth(self.username, self.password))
print(r.url)
>>http://192.168.28.111:80/is-cgi/com/ctw.cgi?query=limits

Кто-нибудь знает, что может происходить? Кажется, должно быть простое решение, но это ведет себя очень странно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...