< p>PHP是一種常用的Web開發語言,它可以通過CURL來實現通過HTTP請求與其他網站進行數據交互的功能。本文將著重介紹CURL發起HTTP GET請求的過程。< /p>< p>在使用CURL時,首先需要通過curl_init()函數初始化一個CURL對象。然后,設置CURLOPT_URL選項為目標網站的URL地址,設置CURLOPT_RETURNTRANSFER選項為true,CURLOPT_FOLLOWLOCATION選項為false,代碼如下:< /p>< pre>
$url = "http://www.example.com/api/getdata";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
< p>上述代碼中,$url是需要請求的URL地址,$curl是一個初始化后的CURL對象。CURLOPT_RETURNTRANSFER選項表示curl_exec()函數執行成功后返回一個字符串,而不是直接輸出。CURLOPT_FOLLOWLOCATION選項指定不自動跟蹤重定向。< /p>< p>接著,使用curl_exec()函數發起HTTP請求并接收響應結果。注意,在發起GET請求時,數據需要附加在URL后面,使用urlencode()函數進行編碼。例如,我們要請求http://www.example.com/api/getdata?name=張三&age=20,則URL應為http://www.example.com/api/getdata?name=%E5%BC%A0%E4%B8%89&age=20。代碼如下:< /p>< pre>$data = array(
'name' =>'張三',
'age' =>20
);
$url = "http://www.example.com/api/getdata?" . http_build_query($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
$result = curl_exec($curl);
curl_close($curl);
< p>上述代碼中,$data是提交的數據,$url是經過編碼后的請求URL。http_build_query()函數將數組轉換為URL編碼的字符串。最后,curl_close()函數關閉CURL會話。< /p>< p>在使用CURL發起HTTP請求時,有時需要添加HTTP header頭信息,比如Authorization信息或User-Agent信息。可以使用curl_setopt()函數設置CURLOPT_HTTPHEADER選項,代碼如下:< /p>< pre>$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.example.com/api/getdata");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
$headers = array(
'Authorization: Bearer ' . $token,
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($curl);
curl_close($curl);
< p>上述代碼中,$token是Authorization信息中的token值,$headers是HTTP頭信息。使用數組形式設置,每個元素表示一個頭信息。最后,curl_close()函數關閉CURL會話。< /p>< p>總結一下,使用CURL發起HTTP GET請求的步驟包括初始化CURL對象、設置CURLOPT_URL、CURLOPT_RETURNTRANSFER、CURLOPT_FOLLOWLOCATION選項、使用curl_exec()函數并帶上URL編碼后的參數。如果需要添加HTTP header頭信息,可以使用curl_setopt()函數設置CURLOPT_HTTPHEADER選項。< /p>上一篇php curl 異步