これは古いトピックですが、ある API での最後のテストでは、cURL の方が高速で安定しています。cURL が 1.4 ~ 1.9 秒しか必要としない場合でも、より大きなリクエストの file_get_contents は 5 秒以上かかることがあります。これは 2 倍の速さです。
これについて、GET を送信して JSON コンテンツを受信するだけであるという 1 つのメモを追加する必要があります。cURL を適切にセットアップすると、優れた応答が得られます。送信する必要があるものと受信する必要があるものを cURL に「伝える」だけです。
あなたの例では、私はこの設定をしたいと思います:
$ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
$result = curl_exec($ch);
このリクエストは、最大 0.10 秒でデータを返します