【发布时间】:2022-06-10 22:21:55
【问题描述】:
我已经搜索了代理的语法,它应该与我的代码中的相同,没有其他办法,但无论如何,在使用代理后,https://api.ipify.org 仍然返回我自己的外部 IP 地址。
import requests
import random
def get_site():
http = ['85.26.146.169:80', '85.143.70.165:80', '213.135.118.150:3128']
proxi = {
'http': 'http://'+random.choice(http)
}
# proxi = {
# 'http': 'http://85.26.146.169:80'
# }
print(requests.get('https://api.ipify.org', proxies=proxi).text)
get_site()
注释和未注释的变体都不起作用
附:在将协议从 http 更改为 https 现在它正在工作但我怀疑 18 个代理中的每一个都不起作用,而且我也可以轻松地 ping 它们。不过他们是免费的
import requests
import random
def get_site():
https = ['188.134.65.80:41890', '77.236.243.69:1256', '31.163.192.161:3129', '37.110.6.178:8080',
'31.131.67.14:8080', '77.238.129.14:55443', '85.235.184.186:3129', '195.133.71.199:8080',
'95.189.104.181:41890',
'78.36.198.158:80',
'188.246.186.142:41890',
'95.140.31.39:41890',
'178.74.103.46:8080',
'212.46.255.78:8080',
'195.68.187.222:3128',
'81.24.95.176:41258',
'89.22.152.32:53726',
'84.201.254.47:3128']
for i in range(len(https)):
proxi = {
'https': 'https://' + https[i]
}
print(requests.get('https://api.ipify.org', proxies=proxi).text)
【问题讨论】:
-
您的代理规范仅与 HTTP 相关。您的网址使用的是 HTTPS 方案
-
谢谢)也许它已经无关紧要了,但是现在如果我尝试使用 https 的一堆代理,没有一个代理在工作,并且没有返回 ip,有时只有错误。是因为它们都不可用吗? (我会添加代码示例)
-
支持 HTTPS 的代理可能需要身份验证。它们都不适合我(在 2 秒超时内)。只有少数代理适用于 HTTP
-
它们是免费的,所以没有身份验证,但很奇怪我至少找不到一个有效的。再次感谢)
标签: python python-requests proxies