php中利用curl進行post請求範例

WBOY
發布: 2016-08-08 09:28:44
原創
1184 人瀏覽過

工作需要使用curl的POST請求來向第三方伺服器取得資料, 以下是php版本的實作程式碼,以作備忘. 

<?php
    $url = "http://hao.qq.com/lunbo/switch.php";
    $data = array("code"=>"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教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板