一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 深入理解curl類,可用于模擬get,post和curl下載

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

2020-04-09 15:37PHP教程網(wǎng) PHP教程

本篇文章是對curl類,可用于模擬get,post和curl下載進行了詳細的分析介紹,需要的朋友參考下

如下所示:

復(fù)制代碼 代碼如下:


<?php
class Curl {
 /*
  * get 方式獲取訪問指定地址
  * @param  string url 要訪問的地址
  * @param  string cookie cookie的存放地址,沒有則不發(fā)送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);
  // 使用自動跳轉(zhuǎn)
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  if(!empty($cookie)) {
   // 包含cookie數(shù)據(jù)的文件名,cookie文件的格式可以是Netscape格式,或者只是純HTTP頭部信息存入文件。
   curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
  }
  // 自動設(shè)置Referer
  curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  // 執(zhí)行一個curl會話
  $tmp = curl_exec($curl);
  // 關(guān)閉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']);
  //發(fā)送一個常規(guī)的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。
  curl_setopt($curl, CURLOPT_POST, 1);
  // 將 curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  // 使用自動跳轉(zhuǎn)
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  // 自動設(shè)置Referer
  curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  // Cookie地址
  curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
  // 全部數(shù)據(jù)使用HTTP協(xié)議中的"POST"操作來發(fā)送。要發(fā)送文件,
  // 在文件名前面加上@前綴并使用完整路徑。這個參數(shù)可以通過urlencoded后的字符串
  // 類似'para1=val1¶2=val2&...'或使用一個以字段名為鍵值,字段數(shù)據(jù)為值的數(shù)組
  // 如果value是一個數(shù)組,Content-Type頭將會被設(shè)置成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地址 可選參數(shù)由
  * 于某些網(wǎng)站是需要cookie才能下載網(wǎng)站上的圖片的
  * 所以需要加上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);
 }
}

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩综合网| 免费一级片在线观看 | 亚洲视频免费 | 性俄罗斯xxxxxhd | 天天色天天综合网 | 国产成人精品高清在线 | 麻豆亚洲一区 | 日产精品卡一卡2卡三卡乱码工厂 | 美国复古性经典xxxxx | 韩国三级在线高速影院 | 国产一精品一av一免费爽爽 | 国产aⅴ一区二区三区 | 日韩国产成人精品视频人 | 第一福利在线视频 | 欧美一级在线视频 | 久久久影院亚洲精品 | 毛片在线免费观看网站 | 日韩欧美视频二区 | 亚洲七七久久综合桃花 | 精品日产1区2卡三卡麻豆 | 亚洲乱码一区二区三区国产精品 | 乌克兰成人性色生活片 | 1769国产精品免费视频 | 我要看黄色毛片 | 黑帮少爷爱上我第8集最新 荷兰精品女人性hd 和日本免费不卡在线v | 办公室的秘密在线观看 | 高h全肉动漫在线观看免费 高h辣h双处全是肉军婚 | 男同激情视频 | 国产在线看片护士免费视频 | 亚洲高清中文字幕一区二区三区 | 香蕉人人超人人超碰超国产 | 热久久免费 | 亚洲精品私拍国产福利在线 | 午夜在线观看免费完整直播网页 | 狠狠的撞进去嗯啊h女强男视频 | 国内精品在线播放 | www伊人| 性色AV乱码一区二区三区视频 | 日本色播 | 欧美伊香蕉久久综合类网站 | 九九在线免费视频 |