发送带有代理的发布请求,但继续遇到代理错误。
已经针对 [WinError 10061]在stackoverflow上尝试了多种解决方案,因为目标计算机主动拒绝了它,因此无法建立连接。
尝试更改系统设置,验证远程服务器是否存在并正在运行,并且系统中也未设置HTTP_PROXY环境变量。
import requests
proxy = {IP_ADDRESS:PORT} #proxy
proxy = {'https': 'https://' + proxy}
#standard header
header={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"Referer": "https://tres-bien.com/adidas-yeezy-boost-350-v2-black-fu9006-fw19",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8"
}
#payload to be posted
payload = {
"form_key":"1UGlG3F69LytBaMF",
"sku":"adi-fw19-003",
# above two values are dynamically populating the field; hardcoded the value here to help you replicate.
"fullname": "myname",
"email": "myemail@gmail.com",
"address": "myaddress",
"zipcode": "areacode",
"city": "mycity" ,
"country": "mycountry",
"phone": "myphonenumber",
"Size_raffle":"US_11"
}
r = requests.post(url, proxies=proxy, headers=header, verify=False, json=payload)
print(r.status_code)
预期输出:200,以及发送到我的电子邮件地址的电子邮件验证。
实际输出:requests.exceptions.ProxyError:HTTPSConnectionPool(主机=“ tres-bien.com”,端口= 443):URL超过了最大重试次数:/ adidas-yeezy-boost-350-v2-black-fu9006- fw19(由ProxyError('无法连接到代理。',NewConnectionError(':未能建立新的连接:[WinError 10061]无法建立连接,因为目标计算机主动拒绝了它,')))
答案 0 :(得分:0)
这里有些事情是错误的...(查看了您要发布到的抽奖页面后,根据您发布的异常,我怀疑它是https://tres-bien.com/adidas-yeezy-boost-350-v2-black-fu9006-fw19
)。
1)我不确定将proxy
作为字典而不是字符串的第一个定义是怎么回事。就是说,同时使用http和https代理可能是一个好习惯。如果您的代理可以支持https,那么它应该可以支持http。
proxy = {
'http': 'http://{}:{}'.format(IP_ADDRESS, PORT),
'https': 'https://{}:{}'.format(IP_ADDRESS, PORT)
}
2)第二个问题是您要提交给的抽奖活动采用url编码的表单数据,而不是json。因此,您的请求应采用以下结构:
r = requests.post(
url=url,
headers=headers,
data=payload
)
3)该页面存在一个ReCaptcha,这是您的表单有效载荷中所缺少的。这不是为什么您的请求出现连接错误的原因,但是您不会成功提交具有ReCaptcha字段且没有适当令牌的表单。
4)最后,我怀疑您的ProxyError的根源是您尝试发布到错误的url。查看Chrome Inspector,您应该将此数据提交至
https://tres-bien.com/tbscatalog/manage/rafflepost/
,而您的异常输出表明您正在发布到https://tres-bien.com/adidas-yeezy-boost-350-v2-black-fu9006-fw19
祝你好运。