![](/img/trans.png)
[英]Why requests.post() does not use a provided proxy in python?
[英]how to use requests.post() with proxy authentication in python?
from bs4 import BeautifulSoup
import requests
from requests.auth import HTTPProxyAuth
url = "http://www.transtats.bts.gov/Data_Elements.aspx?Data=2"
proxies = {"http":"xxx.xxx.x.xxx: port"}
auth = HTTPProxyAuth("username", "password")
r = requests.get(url, proxies=proxies, auth=auth)
soup = BeautifulSoup(r.text,"html.parser")
viewstate_element = soup.find(id = "__VIEWSTATE").attrs
viewstate = viewstate_element["value"]
eventvalidation_element = soup.find(id="__EVENTVALIDATION").attrs
eventvalidation = eventvalidation_element["value"]
data = {'AirportList':"BOS",'CarrierList':"VX",'Submit':'Submit',"__EVENTTARGET":"","__EVENTARGUMENT":"","__EVENTVALIDATION":eventvalidation,"}
r = requests.post(url, proxies, auth, data )
print r
當我使用requests.get(url, proxies=proxies, auth=auth)
,此代碼工作正常,但是在代理身份驗證下必須通過requests.post()
發送某些數據時該怎么辦?
代表 Vikas Neha Ojha 讓所有人都可以看到
proxies = {'http': 'http://username:password@ip:port', 'https': 'http://username:password@ip:port'}
進而
requests.post(url, proxies=proxies, data=data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.