卷曲请求显示与浏览器请求不同的内容

时间:2013-07-19 04:01:17

标签: php curl

当我在浏览器中输入URL时,它会返回详细输出。但是,当我尝试通过curl请求执行此操作时,请求为空。为什么会这样?

网址为https://api.500px.com/v1/users?oauth_token=AihBz6ZWedu3VxnQdy2tqWtbwV86wtOuXumhPapk&oauth_verifier=YhKo0kaGhfw0dFhparxU&consumer_key=0OvWThqr5j1ZYX1cPaa8y0y1aOfJBbDtpX85fJ42

我的代码是:

<!DOCTYPE html>


<?php



function fetchData($url) {
             $ch = curl_init();
               curl_setopt($ch, CURLOPT_HEADER, 1);
   curl_setopt($ch, CURLOPT_VERBOSE, 1);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
   curl_setopt($ch, CURLOPT_FAILONERROR, 0);
   curl_setopt($ch, CURLOPT_URL, $url);
   $returned = curl_exec($ch);
   echo 'Errors: ' . curl_errno($ch) . ' ' . curl_error($ch) . '<br><br>';
   curl_close ($ch);
   echo $returned;
             return $returned;
    }


);
        // Pulls and parses data.

    $returned = fetchData("https://api.500px.com/v1/users?oauth_token=xElRwQ6cqItG8Siy9kFBpwkj5sCdlp33NRva5TZU&oauth_verifier=hbNdYnqm8BSyuiZYa4KZ&consumer_key=0OvWThqr5j1ZYX1cPaa8y0y1aOfJBbDtpX85fJ42");
    var_dump($returned);
if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo 'Operation completed without any errors';
}
    $result = json_decode($returned);
        print_r($returned);



// if(!curl_errno($ch))
// {
//  $info = curl_getinfo($ch);

//  echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
// }

echo "working";
echo curl_error($ch);
echo "workign4";
print_r(curl_getinfo($ch)); 
echo "working6";



?>


</html>

1 个答案:

答案 0 :(得分:0)

通过cURL发出请求并在浏览器中手动显示,即使您在两种情况下都提交了相同的URL参数,也可以显示不同的内容。原因可能很少。

  • POST数据:您的浏览器正在发送一些您在cURL时忘记发送的POST数据。

  • Cookie:您的网络浏览器正在向服务器发送一些cookie,以便显示内容。

  • IP:在本地服务器的情况下不是问题,但在网络主机的情况下可能会有所不同。