【问题标题】:How to configure cURL to use client proxy?如何配置 cURL 以使用客户端代理?
【发布时间】:2013-02-11 14:09:21
【问题描述】:

我正在获取一个 URL,但它在某些国家/地区被过滤掉了。我正在寻找一种方法来配置 cURL 以使用客户端代理。

我的意思是已经在浏览器或连接中设置的代理。

赞赏任何其他可以解决问题并确定网站是否被过滤的解决方案。

【问题讨论】:

    标签: php curl proxy


    【解决方案1】:

    对于 libcurl,使用 CURLOPT_PROXY:

    http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTPROXY

    对于 curl 命令行工具,使用选项 --proxy host:port。

    库和命令行工具都尊重环境变量 http_proxy、ftp_proxy、all_proxy,所以这是另一种选择。

    编辑: 如果您想在服务器上使用客户端的代理 - 这将无法可靠地工作。 首先,您需要通过 javascript 确定客户端的代理设置——这可能有效。 其次,您需要使用该代理在服务器上发出请求 - 这肯定不会可靠地工作,因为客户端的代理可能位于本地网络中(无法从外部访问),需要身份验证等。

    一个选项是通过 JavaScript (AJAX) 发出客户端请求并验证结果 - 这是一种有点可疑的方法,因为您正在从客户端的计算机向可能被阻止(非法?)的站点发出请求。最好不要那样做。

    【讨论】:

    • 最后,你的意思是我不需要设置代理?
    • @Omid 我不太清楚你的设置是什么以及你到底想做什么。
    • 正如我所提到的,我只想知道网站是否为访问者过滤。
    • @Omid 如果我正确理解你的问题,不。另请注意,透明代理之类的东西无需用户配置即可工作。如果您需要更准确的答案,我们鼓励您提出准确的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多