python - python请求代理不适合我
问题描述
我的参考代码:
header = {"Content-Type": "application/json"}
proxyDict = {
"all_proxy": "http://proxy.com:8080",
"http_proxy": "http://proxy.com:8080",
"https_proxy": "http://proxy.com:8080",
"ftp_proxy": "http://proxy.com:8080",
"ALL_PROXY": "http://proxy.com:8080",
"HTTP_PROXY": "http://proxy.com:8080",
"HTTPS_PROXY": "http://proxy.com:8080",
"FTP_PROXY": "http://proxy.com:8080"
}
try:
res = requests.post('slack_url', json={"text": "text"}, headers=header, proxies=proxyDict, verify=False)
print('Success!')
except:
print("unable to send a slack message")
当我运行这段代码时,它就像代理从未被读取并超时一样运行。但是,当我手动设置环境变量时,它工作得很好。
问题是我需要这部分作为气流服务运行,因此需要在运行时设置代理。
我唯一能想到的是请求库需要一个实际的 IP 地址并且不能使用 proxy.com(只是替换公司 URL,而不是我正在使用的实际 URL)。在这种情况下,我需要在不使用 IP 的情况下解决问题。
有任何想法吗?
解决方案
你proxyDict
以错误的方式设置你的。您只需要在该字典中设置一个代理。
proxy = "https://proxy.com:8080"
proxies = {'https': proxy}
然后在请求中设置这个代理:
res = requests.post('slack_url', json={"text": "text"}, headers=header, proxies=proxies, verify=False) #you should never use verify=False as it's not secure
如果您想从代理列表中选择一个随机代理,只需将所有代理放在一个数组中并随机选择一个。
import random
myProxies = ["http://proxy.com:8080","http://proxy.com:8080","http://proxy.com:8080"]
proxies = {'https': random.choice(myProxies)}
推荐阅读
- android - 用于显示带有路径的地图的库
- powerbi - 在 Power BI 中过滤多个值 - 文本确实包含多个值之一
- .net - 端口耗尽 - ServicePointManager.ReusePort 和 IHttpClientFactory
- php - 在 Woocommerce 中以编程方式自定义运费
- java - 当我可以在 Firebase 中看到数据时,为什么数据没有显示在我的应用中?
- r - 如何删除圆环图边框
- python - 在 Python 中使用 joblib 并行执行期间抑制警告
- recursion - 在 F# 中使用不可变记录的状态机
- python-3.x - 重构数据框
- c++ - 从叶子节点开始遍历 AVL 树