在 python 中对请求使用代理的正确方法是什么
what is the proper way to use proxies with requests in python
Requests 未遵守代理标志。
关于使用 python 请求库通过代理发出请求,我缺少一些东西。
如果我启用 OS 系统代理,那么它可以工作,但是如果我只使用请求模块代理设置发出请求,远程机器将看不到请求中设置的代理,但会看到我的真实ip,好像没有设置代理
下面的示例将显示此效果,此时 post 波纹管代理处于活动状态,但任何工作代理都应复制该效果。
import requests
proxy ={
'http:': 'https://143.208.200.26:7878',
'https:': 'http://143.208.200.26:7878'
}
data = requests.get(url='http://ip-api.com/json', proxies=proxy).json()
print('Ip: %s\nCity: %s\nCountry: %s' % (data['query'], data['city'], data['country']))
我也试过更改 proxy_dict 格式:
proxy ={
'http:': '143.208.200.26:7878',
'https:': '143.208.200.26:7878'
}
但是还是没有效果
我正在使用:
-Windows 10
-python 3.9.6
-urllib 1.25.8
非常感谢任何帮助解决此问题的回复。
好的,是的! .
解决这个问题的功劳归功于 (Olvin Rogh) 感谢 Olvin 的帮助并指出了我的问题。我在键内添加了冒号“:”
此代码现在可以使用。
PROXY = {'https': 'https://143.208.200.26:7878',
'http': 'http://143.208.200.26:7878'}
with requests.Session() as session:
session.proxies = PROXY
r = session.get('http://ip-api.com/json')
print(json.dumps(r.json(), indent=2))
Requests 未遵守代理标志。
关于使用 python 请求库通过代理发出请求,我缺少一些东西。
如果我启用 OS 系统代理,那么它可以工作,但是如果我只使用请求模块代理设置发出请求,远程机器将看不到请求中设置的代理,但会看到我的真实ip,好像没有设置代理
下面的示例将显示此效果,此时 post 波纹管代理处于活动状态,但任何工作代理都应复制该效果。
import requests
proxy ={
'http:': 'https://143.208.200.26:7878',
'https:': 'http://143.208.200.26:7878'
}
data = requests.get(url='http://ip-api.com/json', proxies=proxy).json()
print('Ip: %s\nCity: %s\nCountry: %s' % (data['query'], data['city'], data['country']))
我也试过更改 proxy_dict 格式:
proxy ={
'http:': '143.208.200.26:7878',
'https:': '143.208.200.26:7878'
}
但是还是没有效果
我正在使用: -Windows 10 -python 3.9.6 -urllib 1.25.8
非常感谢任何帮助解决此问题的回复。
好的,是的! . 解决这个问题的功劳归功于 (Olvin Rogh) 感谢 Olvin 的帮助并指出了我的问题。我在键内添加了冒号“:” 此代码现在可以使用。
PROXY = {'https': 'https://143.208.200.26:7878',
'http': 'http://143.208.200.26:7878'}
with requests.Session() as session:
session.proxies = PROXY
r = session.get('http://ip-api.com/json')
print(json.dumps(r.json(), indent=2))