Użycie tego polecenia curl jestem w stanie uzyskać odpowiedź szukam od BashWykonywanie żądań HTTP za pośrednictwem modułu zapytań Pythona nie działa za pośrednictwem serwera proxy w miejscu, w którym działa curl? Czemu?
curl -v -u z:secret_key --proxy http://proxy.net:80 \
-H "Content-Type: application/json" https://service.com/data.json
I have already seen this other post on proxies with the Requests module
I pomógł mi sformułować mojego kodu w Pythonie, ale muszę złożyć wniosek za pośrednictwem pełnomocnika . Jednak nawet podczas dostarczania odpowiednich serwerów proxy nie działa. Może po prostu nie widzę czegoś?
>>> requests.request('GET', 'https://service.com/data.json', \
>>> headers={'Content-Type':'application/json'}, \
>>> proxies = {'http' : "http://proxy.net:80",'https':'http://proxy.net:80'}, \
>>> auth=('z', 'secret_key'))
Co więcej, w tej samej konsoli pythona mogę użyć adresu urllib, aby żądanie zakończyło się pomyślnie.
>>> import urllib
>>> urllib.urlopen("http://www.httpbin.org").read()
---results---
Nawet próba wysłania żądania na adres inny niż https nie działa.
>>> requests.get('http://www.httpbin.org')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.6/site-packages/requests/api.py", line 79, in get
return request('get', url, **kwargs)
File "/Library/Python/2.6/site-packages/requests/api.py", line 66, in request
prefetch=prefetch
File "/Library/Python/2.6/site-packages/requests/sessions.py", line 191, in request
r.send(prefetch=prefetch)
File "/Library/Python/2.6/site-packages/requests/models.py", line 454, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: Max retries exceeded for url:
Żądania są tak eleganckie i niesamowite, ale jak może się w tym przypadku nie udać?
http://pycurl.sourceforge.net/ –
Wiem, że prawdopodobnie mógłbym zainstalować i używać pycurl na moim Macu bez większych problemów (lub prawdopodobnie w ogóle). Próbowałem po prostu wybrać bardziej eleganckie rozwiązanie używania Żądań, które jest całkiem niesamowite i czyste. Dziękuję za sugestię. – dalanmiller
Konfigurowanie proxy do użytku z żądaniami działa dobrze tutaj. Idealnie moglibyśmy odtworzyć to, co widzenie ... inaczej mówiąc nam, dlaczego to nie działa, jest jedyną inną opcją. Czy otrzymujesz ślad stosu z żądań? Możesz również monitorować swoją sieć i sprawdzać rzeczywiste żądania, ponieważ mogę tylko zgadywać, że muszą być różne, aby zaobserwować inny efekt, który można zaobserwować między zawijaniem/żądaniami. –