PHP-curl如何用GET和POST方式實現(xiàn)http、https請求

PHP-curl實現(xiàn)GET或POST請求

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的準格爾網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

通過Curl方式很容易獲取目標網(wǎng)站數(shù)據(jù)

支持協(xié)議:Http、Https

可根據(jù)具體需求附帶表單、cookie。

GET請求:

/**
 * curl模擬get進行 http 或 https url請求(可選附帶cookie)
 * @parambool $type請求類型:true為https請求,false為http請求 
 * @paramstring $url請求地址
 * @paramstring$cookie cookie字符串
 * @returnstring返回字符串
 */
function curl_get($type, $url, $cookie) {//type與url為必傳、若無cookie則傳空字符串
  if (empty($url)) {
         return false;
     }
     $ch = curl_init();//初始化curl
     curl_setopt($ch, CURLOPT_URL,$url);//抓取指定網(wǎng)頁
     curl_setopt($ch, CURLOPT_HEADER, 0);//設(shè)置header
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結(jié)果為字符串且輸出到屏幕上
if($type){  //判斷請求協(xié)議http或https
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);  // 從證書中檢查SSL加密算法是否存在
}
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器
if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie);  //設(shè)置cookie
     $data = curl_exec($ch);//運行curl
     curl_close($ch);
     return $data;
}

POST請求:

/**
 * curl模擬post進行 http 或 https url請求(可選攜帶表單,cookie)
 * @parambool $type請求類型:true為https請求,false為http請求
 * @paramstring$url請求地址
 * @paramarray $post_data請求表單數(shù)據(jù)array("key1"=>"value1","key2"=>"value2"),表單以數(shù)組方式傳輸
 * @paramstring$cookiecookie字符串 
 * @returnstring返回字符串
 */
function curl_post($type, $url, $post_data, $cookie) {//type與url為必傳  ,表單post_data數(shù)組,和cookie字符串選傳
  if (empty($url)) {
         return false;
     }
    if(!empty($post_data)){
     $params = '';
      foreach ( $post_data as $k => $v ) 
      { 
          $params.= "$k=" . urlencode($v). "&" ;
      }
      $params = substr($params,0,-1);
    } 
     $ch = curl_init();//初始化curl
     curl_setopt($ch, CURLOPT_URL,$url);//抓取指定網(wǎng)頁
     curl_setopt($ch, CURLOPT_HEADER, 0);//設(shè)置header
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結(jié)果為字符串且輸出到屏幕上
if($type){  //判斷請求協(xié)議http或https
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);  // 從證書中檢查SSL加密算法是否存在
}
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器
if(!empty($cookie))curl_setopt($ch,CURLOPT_COOKIE,$cookie);  //設(shè)置cookie
     if(!empty($post_data))curl_setopt($ch, CURLOPT_POSTFIELDS, $params); //設(shè)置表單
curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
     $data = curl_exec($ch);//運行curl
     curl_close($ch);
     return $data;
}

以上就是PHP-curl通過GET或POST方式實現(xiàn)http及https請求的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

文章題目:PHP-curl如何用GET和POST方式實現(xiàn)http、https請求
本文URL:http://muchs.cn/article20/pdggjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、手機網(wǎng)站建設(shè)、電子商務(wù)靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計