2013-02-11 41 views
0

我正在提取一个网址,但在某些国家/地区已被过滤。我正在寻找一种配置cURL来使用客户端代理的方法。如何配置cURL以使用客户端代理?

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

任何其他的解决方案,不胜感激,可以解决问题,并确定是否过滤网站或不。

回答

0

对于libcurl的,使用CURLOPT_PROXY:

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

对于卷曲命令行工具,使用选项--proxy主机:端口。

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

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

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

+0

最后,你的意思是我不需要设置代理? – Omid 2013-02-11 14:26:34

+0

@Omid我不清楚你的设置是什么,你究竟想要做什么。 – sstn 2013-02-11 14:29:19

+0

正如我所提到的,我只想知道是否为访问者过滤了一个网站。 – Omid 2013-02-11 14:30:54