gpt4 book ai didi

python - curl --noproxy "*"相当于 Python 的请求模块

转载 作者:行者123 更新时间:2023-12-05 04:03:10 25 4
gpt4 key购买 nike

我正在尝试使用 Python 的 request 模块访问网络中服务器上的 API,但收到 502 Bad Gateway 错误。当我尝试使用 curl 做一些等效的事情时,我得到了同样的错误,这是因为请求试图通过代理服务器运行。以下是 curl 的输出:

$ curl -v -k -u username:password https://hostname:port/some/api/endpoint              * Uses proxy env variable no_proxy == 'hostname'
* Uses proxy env variable https_proxy == 'http://10.3.0.40:10256'
* Trying 10.3.0.40...
* TCP_NODELAY set
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to 10.3.0.40 (10.3.0.40) port 10256 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to hostname:port
* Server auth using Basic with user 'user'
> CONNECT hostname:port HTTP/1.1
> Host: hostname:port
> User-Agent: curl/7.61.1
> Proxy-Connection: Keep-Alive
>
< HTTP/1.0 502 Bad Gateway
< Server: Zscaler/5.6
< Content-Type: text/html
< Connection: close
<
* Received HTTP code 502 from proxy after CONNECT
* CONNECT phase completed!
* Closing connection 0
curl: (56) Received HTTP code 502 from proxy after CONNECT

作为顶部的输出状态,curl 自动实现我在环境变量中的 HTTP_PROXY 变量,其他 Python 任务需要它。为了避免这种情况,我可以将 --noproxy "*" 传递给 curl 并且请求不再尝试通过代理运行。

我想尝试使用 Python 的 request 模块进行等效处理。我知道 requests 也会自动从环境变量中读取,所以我试图绕过在代码中指定 proxies=None :

response = requests.get('https://hostname:port/some/api/endpoint', proxies=None, auth=(USER, PASS))

但我仍然得到 502 Bad Gateway。在查看有关 SO 的一些问题时,您似乎可以指定 NO_PROXY 环境变量并提供不应使用代理的 URL。我尝试使用 https://hostnamehttps://hostname:porthttps://hostname/*https://hostname:port/*hostname。这些似乎都不起作用。 (这些甚至是正确的格式吗?)

如何获取 requests 以使用 curl 的 --noproxy 的等效项?

最佳答案

proxies 设置为 None 就像省略它一样。您想要通过传递以下值来指定 http 和 https 代理是 None:

proxies={'http': None, 'https': None}

requests.get 函数。

关于NO_PROXY(或no_proxy),它的值是一个域名,所以你不应该添加http://https:// 在其值前面,在您的情况下只需使用域名 hostname

关于python - curl --noproxy "*"相当于 Python 的请求模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com