Mar*_*ail 5 python django wsgi python-requests
我有一个本地代理服务127.0.0.1:8080
我可以用它进行 api 调用,但不能在 django 中调用,由于某种原因,它可以在常规 python 代码(即python test.py)中工作,但不能在 django 中工作。
import requests
proxies = {
'http': 'http://127.0.0.1:8080',
'https': 'https://127.0.0.1:8080',
}
response = requests.get('https://api.ipify.org?format=json', proxies=proxies)
Run Code Online (Sandbox Code Playgroud)
Djangov3.0.8和请求v2.24.0
我假设 WSGI 以某种方式覆盖我的代理设置
错误
HTTPSConnectionPool(host='api.ipify.org', port=443): Max retries exceeded with url: /?format=json (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fa922093340>: Failed to establish a new connection: [Errno 111] Connection refused')))
Run Code Online (Sandbox Code Playgroud)
对于遇到此问题的任何人来说,这是一个 docker 网络问题。127.0.0.1docker 容器内引用的是内部 docker 网络,而不是本地环境的网络。用于172.17.0.1指定您的本地环境。