亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP封裝CURL擴展類實例

2024-05-04 23:38:10
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP封裝CURL擴展類,實例分析了基于curl發送post、get請求及操作cookie等相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了PHP封裝CURL擴展類。分享給大家供大家參考。具體如下:

 

 
  1. <?php 
  2. /** 
  3. * @description: 封裝CURL擴展 
  4. * @date: 2014-07-28 16:04 
  5. */ 
  6. /** 
  7. * @編碼規范 
  8. * @class 類名首字母大寫,類名為多個單詞, 每個大字首字母大寫 eg: class Curl , class CurlPage 
  9. * @variable 變量名小寫, 變量名為多個單詞, 每個單詞小寫,使用下劃線_分割 eg: $curl_result 
  10. * @function 函數名與類名規則相同 eg: function SendRequest 
  11. * @params 函數形參規則與變量名相同 
  12. * @class-variable 成員變量,以下劃線結尾,多個單詞使用下劃線分隔. eg: private $host_name_ 
  13. */ 
  14. /** 
  15. * @要求 
  16. * 
  17. */ 
  18. class Curl{ 
  19. /** 
  20. * @請求的host 
  21. */ 
  22. private $host_; 
  23. /** 
  24. * @curl 句柄 
  25. */ 
  26. private $ch_; 
  27. /** 
  28. * @超時限制時間 
  29. */ 
  30. const time_=5; 
  31. /** 
  32. * @請求的設置 
  33. */ 
  34. private $options_; 
  35. /** 
  36. * @保存請求頭信息 
  37. */ 
  38. private $request_header_; 
  39. /** 
  40. * @保存響應頭信息 
  41. */ 
  42. private $response_header_; 
  43. /** 
  44. * @body_ 用于保存curl請求返回的結果 
  45. */ 
  46. private $body_; 
  47. /** 
  48. * @讀取cookie 
  49. */ 
  50. private $cookie_file_; 
  51. /** 
  52. * @寫入cookie 
  53. */ 
  54. private $cookie_jar_; 
  55. /** 
  56. * @todo proxy 
  57. * @構造函數,初始化CURL回話 
  58. */ 
  59. public function Start($url){ 
  60. $this->ch_ = curl_init($url); 
  61. curl_setopt($this->ch_, CURLOPT_HEADER, 1); 
  62. curl_setopt($this->ch_, CURLOPT_RETURNTRANSFER , 1 ); 
  63. /** 
  64. * @返回響應頭 
  65. */ 
  66. public function ResponseHeader($url){ 
  67. if (!function_exists('http_parse_headers')) { 
  68. function http_parse_headers ($raw_headers){ 
  69. $headers = array(); 
  70. foreach (explode("/n", $raw_headers) as $i => $h) { 
  71. $h = explode(':', $h, 2); 
  72. if (isset($h[1])) { 
  73. if(!isset($headers[$h[0]])) { 
  74. $headers[$h[0]] = trim($h[1]); 
  75. else if(is_array($headers[$h[0]])) { 
  76. $tmp = array_merge($headers[$h[0]],array(trim($h[1]))); 
  77. $headers[$h[0]] = $tmp; 
  78. else { 
  79. $tmp = array_merge(array($headers[$h[0]]),array(trim($h[1]))); 
  80. $headers[$h[0]] = $tmp; 
  81. return $headers; 
  82. $this->Start($url); 
  83. curl_setopt($this->ch_, CURLOPT_TIMEOUT, Curl::time_); 
  84. $this->body_=$this->Execx(); 
  85. $header_size = curl_getinfo($this->ch_, CURLINFO_HEADER_SIZE); 
  86. $this->response_header_ = substr($this->body_, $start = 0, $offset = $header_size); 
  87. $this->response_header_ = http_parse_headers($this->response_header_); 
  88. print_r($this->response_header_); 
  89. return $this->Close($this->body_); 
  90. /** 
  91. * @讀取cookie 
  92. */ 
  93. public function LoadCookie($url,$cookie_file){ 
  94. $this->Start($url); 
  95. curl_setopt($this->ch_, CURLOPT_COOKIE, 1); 
  96. curl_setopt($this->ch_, CURLOPT_COOKIEFILE , $cookie_file); 
  97. $this->body_=$this->Execx(); 
  98. return $this->Close($this->body_); 
  99. /** 
  100. * @寫入cookie 
  101. */ 
  102. public function SaveCookie($url){ 
  103. $this->Start($url); 
  104. curl_setopt($this->ch_, CURLOPT_COOKIE, 1); 
  105. curl_setopt($this->ch_, CURLOPT_COOKIEFILE ,'cookie.txt'); 
  106. curl_setopt($this->ch_, CURLOPT_COOKIEJAR , 'cookie.txt'); 
  107. $this->body_=$this->Execx(); 
  108. return $this->Close($this->body_); 
  109. /** 
  110. * @設置HEADER 
  111. */ 
  112. public function SetHeader($headers = null){ 
  113. if (is_array($headers) && count($headers) > 0) { 
  114. curl_setopt($this->ch_, CURLOPT_HTTPHEADER, $headers); 
  115. /** 
  116. * @GET請求 
  117. */ 
  118. public function Get($url, array $params = array()) { 
  119. if ($params) { 
  120. if (strpos($url, '?')) { 
  121. $url .= "&".http_build_query($params); 
  122. else { 
  123. $url .= "?".http_build_query($params); 
  124. $this->Start($url); 
  125. curl_setopt($this->ch_, CURLOPT_TIMEOUT, Curl::time_); 
  126. if (strpos($url, 'https') === 0) { 
  127. curl_setopt($this->ch_, CURLOPT_SSL_VERIFYHOST, 0); 
  128. curl_setopt($this->ch_, CURLOPT_SSL_VERIFYPEER, 0); 
  129. $this->body_=$this->Execx(); 
  130. return $this->Close($this->body_); 
  131. /** 
  132. * @POST請求 
  133. */ 
  134. public function Post($url, array $params = array()) { 
  135. $this->Start($url); 
  136. curl_setopt($this->ch_, CURLOPT_SSL_VERIFYPEER, 0); 
  137. curl_setopt($this->ch_, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded")); 
  138. curl_setopt($this->ch_, CURLOPT_POST, true); 
  139. curl_setopt($this->ch_, CURLOPT_TIMEOUT, Curl::time_); 
  140. if ($params) { 
  141. curl_setopt($this->ch_, CURLOPT_POSTFIELDS, http_build_query($params)); 
  142. $this->body_=$this->Execx(); 
  143. return $this->Close($this->body_); 
  144. /** 
  145. * @tips: google http head 方法 
  146. */ 
  147. public function Head($url, array $params = array()) { 
  148. $this->Start($url); 
  149. curl_setopt($this->ch_, CURLOPT_TIMEOUT, Curl::time_); 
  150. curl_setopt($this->ch_, CURLOPT_RETURNTRANSFER , 0); 
  151. curl_setOpt($this->ch_,CURLOPT_NOBODY, true); 
  152. $this->body_=$this->Execx(); 
  153. return $this->Close($this->body_); 
  154. /** 
  155. * @執行CURL會話 
  156. */ 
  157. public function Execx(){ 
  158. return curl_exec($this->ch_); 
  159. /** 
  160. * @關閉CURL句柄 
  161. */ 
  162. public function Close($body_){ 
  163. if ($body_ === false) { 
  164. echo "CURL Error: " . curl_error($body_); 
  165. return false
  166. curl_close($this->ch_); 
  167. return $body_; 

希望本文所述對大家的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美视频中文字幕在线| 国内免费久久久久久久久久久| 欧美大荫蒂xxx| 96pao国产成视频永久免费| 亚洲欧美精品在线| 国产91免费看片| 欧美性极品xxxx娇小| 55夜色66夜色国产精品视频| 亚洲成人1234| 欧美性20hd另类| 在线观看欧美成人| 日本不卡免费高清视频| 欧美高清电影在线看| 日韩精品一区二区视频| 亚洲欧美日韩国产中文| 欧美性xxxx在线播放| 国自产精品手机在线观看视频| 国产精品99久久久久久白浆小说| 久久久亚洲国产天美传媒修理工| 国产精品jvid在线观看蜜臀| 国产精品人成电影| 国产视频在线观看一区二区| 国产精品久久77777| 久久五月天综合| 国产精品免费福利| 亚洲香蕉成人av网站在线观看| 色偷偷av一区二区三区乱| 懂色av中文一区二区三区天美| 日韩在线www| 午夜精品一区二区三区在线| 欧美中在线观看| 久久91亚洲精品中文字幕奶水| 国产成人小视频在线观看| 久久精品2019中文字幕| 欧美性做爰毛片| 久久精品视频在线播放| 国产精品久久久久久搜索| 播播国产欧美激情| 欧美性受xxxx黑人猛交| 神马国产精品影院av| 久热精品视频在线免费观看| 亚洲国产精品专区久久| 高清欧美电影在线| 亚洲国产成人精品电影| 欧美成人第一页| 国产欧美 在线欧美| 亚洲va国产va天堂va久久| 97精品欧美一区二区三区| 欧美电影院免费观看| 亚洲视频欧洲视频| 亚洲国产成人爱av在线播放| 97人人爽人人喊人人模波多| 2020久久国产精品| 成人a免费视频| 日韩av免费在线观看| 国产精品久久久久999| 一区二区三区天堂av| 日韩在线观看av| 91亚洲国产成人精品性色| 97在线视频一区| 亚洲精品永久免费精品| 最新国产精品亚洲| 日韩精品亚洲精品| 91久久嫩草影院一区二区| 国产精品嫩草视频| 国产精品久久久久av免费| 欧美高清在线观看| 亚洲精品福利在线| 欧美激情一级欧美精品| 欧美一区二区三区……| 亚洲欧美另类国产| 日韩免费电影在线观看| 国产精品都在这里| 国产小视频91| 91精品国产精品| 国产精品自产拍在线观看| 亚洲精品成人久久电影| 国产精品白嫩美女在线观看| 亚洲高清久久久久久| 欧美激情在线一区| 日韩精品中文字幕在线观看| 久久综合亚洲社区| 乱亲女秽乱长久久久| 日韩精品极品视频免费观看| 日韩综合中文字幕| 国产精品99蜜臀久久不卡二区| 亚洲有声小说3d| 在线观看日韩av| 九九精品视频在线观看| 亚洲男人天堂手机在线| 日本不卡免费高清视频| 日韩电影网在线| 欧美国产日韩xxxxx| 国产ts人妖一区二区三区| 一本色道久久88精品综合| 欧美日韩第一视频| 日韩在线观看免费高清完整版| 奇米影视亚洲狠狠色| 91香蕉国产在线观看| 欧美成人免费全部| 日韩在线观看免费av| 亚洲国产精品国自产拍av秋霞| 亚洲国产欧美一区| 亚洲香蕉成人av网站在线观看| 国模私拍一区二区三区| 亚洲人成网在线播放| 国产精品都在这里| 亚洲国产中文字幕久久网| 久久91亚洲精品中文字幕奶水| 久久精品电影一区二区| 国产国语videosex另类| 在线观看国产欧美| 日韩精品视频在线观看网址| 91中文精品字幕在线视频| 2019中文字幕全在线观看| 亚洲精品wwwww| 国产91色在线播放| 久久久亚洲天堂| 国产精品第1页| 亚洲国产精品成人va在线观看| 欧美精品videossex性护士| 国模精品一区二区三区色天香| 国产午夜精品免费一区二区三区| 亚洲高清色综合| 久久成人亚洲精品| 国产亚洲一级高清| 国产精品pans私拍| 欧美一区二区三区艳史| 精品国产乱码久久久久久虫虫漫画| 色在人av网站天堂精品| 久久久久久国产精品美女| 日本久久久久久久久久久| 97国产精品视频人人做人人爱| 欧美性猛交xxxx黑人| 欧美日韩精品中文字幕| 欧美一区二区三区四区在线| 欧美日韩国产一区二区| 欧美国产日韩一区二区在线观看| 国产精品久久77777| 亚洲欧美日韩精品久久亚洲区| 亚洲国产精品电影| 日韩视频―中文字幕| 2019国产精品自在线拍国产不卡| 98精品国产自产在线观看| 欧美一区二区三区免费观看| 久久69精品久久久久久国产越南| 欧美午夜美女看片| 欧美激情网站在线观看| 国产在线精品自拍| 国产视频久久网| 国产精品99一区| 久久伊人精品视频| 亚洲高清免费观看高清完整版| 欧美在线激情视频| 欧美日韩国产丝袜另类| 最新日韩中文字幕| 亚洲天堂第二页| 中文字幕亚洲情99在线| 91久久综合亚洲鲁鲁五月天| 最近中文字幕mv在线一区二区三区四区| 日韩欧美在线第一页| 亚洲国产成人在线播放| 国产午夜精品一区理论片飘花| 高跟丝袜一区二区三区|