首頁 >後端開發 >php教程 >php中curl抓取網頁回應數據

php中curl抓取網頁回應數據

小云云
小云云原創
2018-03-21 14:08:002296瀏覽

本文主要和大家分享php中curl抓取網頁回應資料的方法,希望能幫助大家。

<?php
namespace app\index\model;
use think\Model;

class httpPost extends Model{
 /**
 * POST 请求 抓取数据

 * @param string $url


 * @param array $param


 * @return string content


 */
	public function httpPost($url, $param, $cookie_file) {


	   $oCurl = curl_init ();


	   if (stripos ( $url, "https://" ) !== FALSE) {


	      curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );


	      curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );


	   }


	   if (is_string ( $param )) {


	      $strPOST = $param;


	   } else {


	      $aPOST = array ();


	      foreach ( $param as $key => $val ) {


	         $aPOST [] = $key . "=" . urlencode ( $val );


	      }


	      $strPOST = join ( "&", $aPOST );


	   }


	   curl_setopt ( $oCurl, CURLOPT_URL, $url );


	   curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );


	   curl_setopt ( $oCurl, CURLOPT_POST, true );


	   curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $strPOST );
	   
	   
	 //   curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, false);// 过滤htpts
	 //   curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);// 过滤htpts
	 //   $UserAgent = &#39;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)&#39;;
		// curl_setopt($oCurl, CURLOPT_USERAGENT, $UserAgent); // 使用代理
		// //
		// curl_setopt($oCurl, CURLOPT_HEADER, false);


		// curl_setopt($oCurl, CURLOPT_HEADER, 0);
     	
  		curl_setopt($oCurl, CURLOPT_COOKIEFILE, $cookie_file);


	   $sContent = curl_exec ( $oCurl );


	   $aStatus = curl_getinfo ( $oCurl );


	   curl_close ( $oCurl );


	   if (intval ( $aStatus ["http_code"] ) == 200) {


	      return $sContent;


	   } else {

	      return false;

	   }

	}
}

相關推薦:

php中CURL請求頭與回應頭取得方法

PHP網路爬蟲之CURL詳解

####php中CURL取得請求頭和回應頭#######

以上是php中curl抓取網頁回應數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn