PHP利用curl實現get與POST提交資料_PHP教程

來源:互聯網
上載者:User
本文章來給大家介紹PHP利用curl實現get與POST提交資料方法,各位朋友有需要瞭解的可進入參考。


curl實現get提交資料

代碼如下 複製代碼
// 初始化一個 cURL 對象
$curl = curl_init();
// 設定你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://www.bKjia.c0m');
// 設定header, 最後一個參數是0表示傳回值不帶有header,1表示帶有header
curl_setopt($curl, CURLOPT_HEADER, 0);
// 設定瀏覽器的特定header,可選,如果目標網站有要求的話
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"User-Agent: {'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)'}",
"Accept-Language: {en-us,en;q=0.5}"
));
//或者只設定user-agent,可選,如果目標網站有要求的話
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
// 設定cURL 參數,要求結果儲存到字串中還是輸出到螢幕上,1表示儲存到字串
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 頁面內容不需要時,設定為1. 預設為0
curl_setopt($ch, CURLOPT_NOBODY, 1);
// 運行cURL,請求網頁,儲存在$data
$data = curl_exec($curl);
// 關閉URL請求
curl_close($curl);
//檢查錯誤
//比較的時候我們用的是“=== FALSE”,而非“== FALSE”,因為我們得區分’空輸出‘和’布爾值FALSE‘
if ($output === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
//可以擷取資訊
$info = curl_getinfo($ch);
echo '擷取'. $info['url'] . '耗時'. $info['total_time'] . '秒';
/* ...返回的數組中包括了以下資訊:
“url” //資源網路地址
“content_type” //內容編碼
“http_code” //HTTP狀態代碼
“header_size” //header的大小
“request_size” //請求的大小
“filetime” //檔案建立時間
“ssl_verify_result” //SSL驗證結果
“redirect_count” //跳轉技術
“total_time” //總耗時
“namelookup_time” //DNS查詢耗時
“connect_time” //等待串連耗時
“PRetransfer_time” //傳輸前準備耗時
“size_upload” //上傳資料的大小
“size_download” //下載資料的大小
“speed_download” //下載速度
“speed_upload” //上傳速度
“download_content_length”//下載內容的長度
“upload_content_length” //上傳內容的長度
“starttransfer_time” //開始傳輸的時間
“redirect_time”//重新導向耗時
*/

curl實現POST提交資料

http的post實現

代碼如下 複製代碼

//extract data from the post
extract($_POST) ; 
//set POST variables
$url = 'http://www.bKjia.c0m' ;
$fields = array(
            'lname'=>urlencode($last_name) ,
            'fname'=>urlencode($first_name) ,
            'title'=>urlencode($title) ,
            'company'=>urlencode($institution) ,
            'age'=>urlencode($age) ,
            'email'=>urlencode($email) ,
            'phone'=>urlencode($phone)
        ); 
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
rtrim($fields_string ,'&') ;
//open connection
$ch = curl_init() ;
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL,$url) ;
curl_setopt($ch, CURLOPT_POST,count($fields)) ;
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string) ;
//execute post
$result = curl_exec($ch) ;
//close connection
curl_close($ch) ;

http://www.bkjia.com/PHPjc/630677.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/630677.htmlTechArticle本文章來給大家介紹PHP利用curl實現get與POST提交資料方法,各位朋友有需要瞭解的可進入參考。 curl實現get提交資料 代碼如下 複製代碼 // 初...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.