工作中需要使用curl的POST請求來向第三方伺服器擷取資料, 下面是php版本的實現代碼,以作備忘.
"find_wonder"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_MAXREDIRS, 4); curl_setopt($ch, CURLOPT_ENCODING, ""); //必須解壓縮防止亂碼 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/535.12"); curl_setopt($ch, CURLOPT_TIMEOUT, 15); $output = curl_exec($ch); curl_close($ch); print_r($output);?>
這裡需要注意的地方是, hao.qq.com返回的資料是gzip和chunk發送的, 必須啟用curl的自動解壓縮功能來得到解壓後的資料, 否則會導致亂碼.
將上面的源碼檔案記為curl_post.php, 在命令列執行
php curl_post.php
下面是擷取的結果樣本
上面的執行個體是,向hao.qq.com發送POST請求來擷取指定的程式碼片段, 它是div和script程式碼片段的混合體, 會產生類似如下的頁面效果
以上就介紹了php中利用curl進行post請求樣本,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。