使用curl检查仅限美国的网站状态

时间:2012-12-24 21:48:39

标签: php curl restriction

[问题]

有一个仅适用于美国公民的网站(显示美国公民的信息“A”,非美国公民的信息“B”)。我需要不断监控此网页的更改(“A”信息) - 当更改内容时应发送电子邮件!我该怎么做? 问题是我住在欧洲!

[已完成]

我有一个linux服务器,守护进程和curl PHP脚本,它完成了以下任务!它适用于所有“非美国”网站。

[问题]

解决问题的一种方法可能是租用美国服务器,但这根本不可接受,而且会花费很多!我认为解决问题的另一种方法可能是 - 在我的服务器上使用美国VPN,但出于某些原因我不会这样做。有没有办法通过代理运行curl?有什么想法吗?

目前的代码如下:

function getrequest($url_site/*,$post_data*/) {
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL,$url_site);
    curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);  
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE);   // Cookie management.
    curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);
    $result = curl_exec($ch); // run the whole process 
    curl_close($ch);

    return $result;
}

 $sleep_time = 1;
 $login_wp_url = "http://www.mysite.com";
 set_time_limit(60*10);
 $result = getrequest($login_wp_url);

如何从仅限美国网站获取内容?

P.S。了解我的意思 - 尝试访问来自欧洲国家的Hulu。 P.P.S.那不是Hulu,不是作业。

1 个答案:

答案 0 :(得分:0)

许多云服务提供商,例如Heroku和亚马逊免费提供最小的实例。您可以免费设置其中一个,确保在美国的服务器上配置并在那里运行脚本。

另一种可能性是为这些请求使用(免费)代理。以下是免费代理服务器列表:http://www.xroxy.com/proxy-country-US.htm

curl_setopt($ch, CURLOPT_PROXY, "http://160.76.xxx.xxx:8080");
curl_setopt($ch, CURLOPT_PROXYPORT, 8080);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "xxx:xxx");