色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

深入理解curl類,可用于模擬get,post和curl下載

如下所示:
復制代碼 代碼如下:
<?php
class Curl {
 /*
  * get 方式獲取訪問指定地址
  * @param  string url 要訪問的地址
  * @param  string cookie cookie的存放地址,沒有則不發送cookie
  * @return string curl_exec()獲取的信息
  * @author andy
  **/
 public function get( $url, $cookie='' )
 {
  // 初始化一個cURL會話
  $curl = curl_init($url);
  // 不顯示header信息
  curl_setopt($curl, CURLOPT_HEADER, 0);
  // 將 curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  // 使用自動跳轉
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  if(!empty($cookie)) {
   // 包含cookie數據的文件名,cookie文件的格式可以是NETscape格式,或者只是純HTTP頭部信息存入文件。
   curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
  }
  // 自動設置Referer
  curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  // 執行一個curl會話
  $tmp = curl_exec($curl);
  // 關閉curl會話
  curl_close($curl);
  return $tmp;
 }
 /*
  * post 方式模擬請求指定地址
  * @param  string url 請求的指定地址
  * @param  array  params 請求所帶的
  * #patam  string cookie cookie存放地址
  * @return string curl_exec()獲取的信息
  * @author andy
  **/
 public function post( $url, $params, $cookie )
 {
  $curl = curl_init($url);
  curl_setopt($curl, CURLOPT_HEADER, 0);
  // 對認證證書來源的檢查,0表示阻止對證書的合法性的檢查。
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  // 從證書中檢查SSL加密算法是否存在
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
  //模擬用戶使用的瀏覽器,在HTTP請求中包含一個”user-agent”頭的字符串。
  curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  //發送一個常規的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。
  curl_setopt($curl, CURLOPT_POST, 1);
  // 將 curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  // 使用自動跳轉
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  // 自動設置Referer
  curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  // Cookie地址
  curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
  // 全部數據使用HTTP協議中的"POST"操作來發送。要發送文件,
  // 在文件名前面加上@前綴并使用完整路徑。這個參數可以通過urlencoded后的字符串
  // 類似'para1=val1¶2=val2&...'或使用一個以字段名為鍵值,字段數據為值的數組
  // 如果value是一個數組,Content-Type頭將會被設置成multipart/form-data。
  curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
  $result = curl_exec($curl);
  curl_close($curl);
  return $result;
 }
 /**
  * 遠程下載
  * @param string $remote 遠程圖片地址
  * @param string $local 本地保存的地址
  * @param string $cookie cookie地址 可選參數由
  * 于某些網站是需要cookie才能下載網站上的圖片的
  * 所以需要加上cookie
  * @return void
  * @author andy
  */
 public function reutersload($remote, $local, $cookie= '') {
  $cp = curl_init($remote);
  $fp = fopen($local,"w");
  curl_setopt($cp, CURLOPT_FILE, $fp);
  curl_setopt($cp, CURLOPT_HEADER, 0);
  if($cookie != '') {
   curl_setopt($cp, CURLOPT_COOKIEFILE, $cookie);
  }
  curl_exec($cp);
  curl_close($cp);
  fclose($fp);
 }
}

php技術深入理解curl類,可用于模擬get,post和curl下載,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 凯里市| 渭南市| 黄石市| 榆中县| 古蔺县| 青河县| 监利县| 贺兰县| 正定县| 津南区| 固阳县| 浑源县| 兴安县| 德令哈市| 工布江达县| 灯塔市| 东丽区| 德江县| 郧西县| 洛隆县| 西贡区| 香格里拉县| 临颍县| 丹寨县| 林周县| 德格县| 甘德县| 伊宁县| 娄底市| 延庆县| 科尔| 双牌县| 白城市| 富锦市| 孟州市| 方正县| 尼木县| 平定县| 乐山市| 和田县| 青川县|