Skip to main content
 首页 » 编程设计

python之如何在 python 中使用带有代理身份验证的 requests.post()

2025年05月04日15yjmyzz

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)