我正在提取网址但在某些国家/地区已过滤。我一直在寻找一种方法来配置cURL以使用客户端代理。
我的意思是在浏览器或连接中设置的代理。
任何其他解决方案都可以解决问题,并确定是否过滤了网站。
答案 0 :(得分:0)
对于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)发出客户端请求并验证结果 - 这是一个有点可疑的方法,因为您从客户端的计算机向可能被阻止(非法?)站点发出请求。最好不要这样做。