这是个老话题,但是在我对API的最后一次测试中,cURL更快,更稳定。有时,较大的请求上的file_get_contents需要5秒钟以上,而cURL只需要1.4到1.9秒钟,这要快一倍。
我需要为此添加一条便条,即我只是发送GET和接收JSON内容。如果正确设置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.01秒内返回数据