为什么404错误通过PHP cURL GET,但在浏览器中工作正常


Why 404 error through PHP cURL GET, but works fine in browser?

StumbleUpon最近改变了他们的框架和他们的API不再工作,所以我试图写一个PHP脚本来访问我的Stumble历史。

令人尴尬的是,我被困在试图获取登录页面的简单步骤上;)

https://www.stumbleupon.com/login/在我的浏览器中加载良好

但是这个PHP代码显示一个404页面:

    // Vars
    $url = "https://www.stumbleupon.com/login/";
    $user_agent = "Mozilla/5.0";
    // Curl
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    $response = curl_exec($ch);     
    echo $response;

我想也许他们会阻止某些用户代理,所以我尝试了我的浏览器正在使用的相同的一个,但没有运气。我还尝试从不同的IP运行脚本,以消除IP禁令问题。我对这个问题真的一无所知……非常奇怪。

任何想法?

尝试使用https://www.stumbleupon.com/login.php代替。您输入的URL返回404给我。

他们可能正在寻找其他HTTP标头。你应该试着看看你的浏览器做什么,当它请求这个页面与live http headers和尝试合并一个HTTP头一次到你的脚本,看看哪一个解决你的问题。

相关文章: