开发者

Why are the Twitter api calls so slow?

开发者 https://www.devze.com 2023-02-04 21:49 出处:网络
When I execute the following code it takes between 10-12 seconds to respond. Is the problem with Twitter or with our server?

When I execute the following code it takes between 10-12 seconds to respond.

Is the problem with Twitter or with our server?

I really need to know as this is part of the code to display tweets on our website and a 12 second load 开发者_C百科time is just not acceptable!

function get_latest_tweets($username)
  {
    print "<font color=red>**". time()."**</font><br>";
    $path = 'http://api.twitter.com/1/statuses/user_timeline/' . $username.'.json?include_rts=true&count=2';
    $jason = file_get_contents($path);
    print "<font color=red>**". time()."**</font><br>";
  }

Thanks


When you put the URL into your browser (http://api.twitter.com/1/statuses/user_timeline/username.json?include_rts=true&count=2) how long does it take for the page to appear? If it's quick then you need to start the search at your server.


use curl instead of file_get_contents() to request, so that response will be compressed. Here is the curl function which iam using.

function curl_file_get_contents($url)
{
    $curl = curl_init();

    curl_setopt($curl,CURLOPT_URL,$url); //The URL to fetch. This can also be set when initializing a session with curl_init().
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE); //TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
    curl_setopt($curl,CURLOPT_ENCODING , "gzip");

    curl_setopt($curl, CURLOPT_FAILONERROR, TRUE); //To fail silently if the HTTP code returned is greater than or equal to 400.
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);

    $contents = curl_exec($curl);
    curl_close($curl);

    return $contents;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消