如何在Curl中使用Socks5代理

Curl在许多HTTP客户机和下载工具中拥有最好的代理支持。这就是如何使用socks5代理并使用socks5代理解析URL中的主机名。对于某些用例,通过代理解析主机名是必要的。

假设您有一个socks5代理运行在localhost:8001上。

  1. crul 版本 >= 7.21.7 时使用命令:
curl -x socks5h://localhost:8001 http://www.google.com/
  1. crul 版本 >= 7.18.0 时使用命令:
curl --socks5-hostname localhost:8001 http://www.google.com/

许多工具在内部使用libcurl,或者在安装程序脚本中使用curl命令。如果很难修改命令行本身,可以使用环境变量设置代理。

env ALL_PROXY=socks5h://localhost:8001 PROGRAM [OPTION]...

如果你想覆盖系统代理设置,你可能还需要设置两个额外的变量:

env http_proxy=socks5h://localhost:8001 HTTPS_PROXY=socks5h://localhost:8001 ALL_PROXY=socks5h://localhost:8001 PROGRAM [OPTION]...

注意:http_proxy写的,其他两个是写的。

参考:How to Use Socks5 Proxy in Curl

posted @ 2020-03-26 14:27  enjoy_jun  阅读(20321)  评论(1编辑  收藏  举报