多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > PHP CURL用法詳解

PHP CURL用法詳解

來源:程序員人生   發布時間:2014-01-08 11:03:15 閱讀次數:4379次

PHP CURL的作用對于很多應用來說有很大的用處,下面我來詳細介紹php curl用法詳解,有需要了解的朋友可進入參考。

PHP中的CURL函數庫(Client URL Library Function)

curl_close — 關閉一個curl會話

curl_copy_handle — 拷貝一個curl連接資源的所有內容和參數

curl_errno — 返回一個包含當前會話錯誤信息的數字編號

curl_error — 返回一個包含當前會話錯誤信息的字符串

curl_exec — 執行一個curl會話

curl_getinfo — 獲取一個curl連接資源句柄的信息

curl_init — 初始化一個curl會話

curl_multi_add_handle — 向curl批處理會話中添加單獨的curl句柄資源

curl_multi_close — 關閉一個批處理句柄資源

curl_multi_exec — 解析一個curl批處理句柄

curl_multi_getcontent — 返回獲取的輸出的文本流

curl_multi_info_read — 獲取當前解析的curl的相關傳輸信息

curl_multi_init — 初始化一個curl批處理句柄資源

curl_multi_remove_handle — 移除curl批處理句柄資源中的某個句柄資源

curl_setopt_array — 以數組的形式為一個curl設置會話參數

curl_setopt — 為一個curl設置會話參數

curl_version — 獲取curl相關的版本信息

curl_init()函數的作用初始化一個curl會話,curl_init()函數唯一的一個參數是可選的,表示一個url地址。

curl_exec()函數的作用是執行一個curl會話,唯一的參數是curl_init()函數返回的句柄。

curl_close()函數的作用是關閉一個curl會話,唯一的參數是curl_init()函數返回的句柄。

1. php curl的默認調用方法,get方式訪問url,代碼如下:

  1. $ch = curl_init();  
  2. curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //設置http頭  
  3. curl_setopt($ch, CURLOPT_ENCODING, "gzip" ); //設置為客戶端支持gzip壓縮  
  4. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設置連接等待時間  
  5. curl_setopt($ch, CURLOPT_URL, $url );  
  6. curl_exec( $ch );  
  7. if ($error = curl_error($ch) ) {  
  8. //出錯處理  
  9. return -1;  
  10. }  
  11. fclose($fp); 
  12. $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //獲取http返回值  
  13. if$curl_code == 200 ) {  
  14. //正常訪問url  
  15. }  
  16. //異常  

2. 設置http header支持curl訪問lighttpd服務器,Java代碼如下:

$header[]= 'Expect:';$header[]= 'Expect:'; 

3. 設置curl,只獲取http header,不獲取body,Java代碼如下:

  1. curl_setopt($ch, CURLOPT_HEADER, 1);  
  2. curl_setopt($ch, CURLOPT_NOBODY, 1); 
  3. curl_setopt($ch, CURLOPT_HEADER, 1);  
  4. curl_setopt($ch, CURLOPT_NOBODY, 1); 

或者只獲取body,Java代碼如下:

  1. curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body  
  2. curl_setopt($ch, CURLOPT_NOBODY, 0); 
  3. curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body 
  4. curl_setopt($ch, CURLOPT_NOBODY, 0); 

4.訪問虛擬主機,需設置Host,代碼如下

$header[]= 'Host: '.$host; 

5. 使用post, put,delete等REStful方式訪問url,代碼如下:

curl_setopt($ch, CURLOPT_POST,1); put, delete: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); //或者PUT,需要服務器支持這些方法。 

6.保存下載內容為文件,代碼如下:

curl_setopt($ch, CURLOPT_FILE, $fp);

模擬POST請求,代碼如下:

  1. <?PHP  
  2.     $url = 'POST_URL';  
  3.     $fields=array(  
  4.         'a' => 'a',  
  5.         'b'   => 'b',  
  6.     );  
  7.        
  8.     $ch = curl_init();  
  9.     curl_setopt($ch, CURLOPT_URL, $url);  
  10.     curl_setopt($ch, CURLOPT_POST, count($fields));  
  11.     curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  
  12.     ob_start();  
  13.     curl_exec($ch);  
  14.        
  15.     $result = ob_get_contents();  
  16.        
  17.     ob_end_clean();  
  18.     echo $result;  
  19.     curl_close($ch); 
  20. ?> 

模仿get登錄,代碼如下:

  1. <? 
  2. session_start(); 
  3. $url = 'http://localhost/test/loginAct.php'
  4. $post = 1; 
  5. $returntransfer = 1; 
  6. $port = 80; 
  7. $header = 0; 
  8. $nobody = 0; 
  9. $followlocation = 1; 
  10. $cookie_jar = $_SESSION['cookie_jar']; 
  11. $request = 'userName=huyan&pwd='.sha1(yanyan).'&ac=login'
  12. $ch = curl_init(); 
  13. $options = array(CURLOPT_URL => $url
  14.        CURLOPT_HEADER => $header
  15.        CURLOPT_NOBODY => $nobody
  16.        CURLOPT_PORT => $port
  17.        CURLOPT_POST => $post
  18.        CURLOPT_POSTFIELDS => $request
  19.        CURLOPT_RETURNTRANSFER => $returntransfer
  20.        CURLOPT_FOLLOWLOCATION => $followlocation
  21.        CURLOPT_COOKIEJAR => $cookie_jar
  22.        CURLOPT_COOKIEFILE => $cookie_jar
  23.        CURLOPT_REFERER => $url 
  24.        ); 
  25. curl_setopt_array($ch$options); 
  26. $temp = curl_exec($ch); 
  27. curl_errno($ch); 
  28. curl_close($ch); 
  29. echo $temp
  30. ?> 

注意,如果你的curl不可以使用我們可以參考下面方法來打開

啟php curl函數庫的步驟

1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; 用 echo phpinfo();查看php.ini的路徑

2).把php5/libeay32.dll,ssleay32.dll復制到系統目錄windows/下

3).重啟apache

配置php支持curl

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http代理服務器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理服務器, 通過http代理服務器上傳文件到FTP服務器等等,功能十分強大。Windows操作系統下的網絡螞蟻,網際快車(FlashGet)的功能它都可以做到。準確的說,curl支持文件的上傳和下載,所以是一個綜合傳輸工具,但是按照傳統,用戶習慣稱curl為下載工具。

配置方法:

1、拷貝PHP目錄中的libeay32.dll 和 ssleay32.dll 兩個文件到 system32 目錄。

2、修改php.ini:配置好 extension_dir ,去掉 extension = php_curl.dll 前面的分號。

php下擴展php_curl.dll的安裝

已經內置有php_curl.dll,在ext目錄下,此DLL用于支持SSL和zlib,在php.ini中找到有extension=php_curl.dll,去掉前面的注釋.

設置extension_dir=c:phpext, 刷新PHP頁面時報錯, 說找不到模塊php_curl.dll,拷貝php_curl.dll 到windowssystem32,還是同樣的錯.

在網上找了一下,需要將:libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll都拷貝到system32目錄下,重啟IIS即可.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 黄色片网站在线播放 | 最新亚洲精品国自产在线 | 久久精品一区二区 | 羞羞色院91蜜桃在线观看 | 伊人动漫| 爽a中文字幕一区 | 伊人免费在线观看高清版 | 亚洲黄色色图 | 尤物福利在线 | 亚洲综合黄色 | 综合网伊人 | 网站在线看 | 国产 日韩 欧美 综合 | 亚洲小说专区 | 国产精品原创永久在线观看 | 欧美成人国产一区二区 | 精品国产日韩亚洲一区91 | 我想看一级毛片免费的 | 亚洲欧洲精品久久 | 亚洲精品国产福利 | 国内自拍 亚洲系列 欧美系列 | 久草在线视频福利资源站 | 国产综合亚洲欧美日韩一区二区 | 免费看一级欧美毛片 | 成人在线视频网 | 岛国在线123456 | 久久精品国产一区二区 | 一级做a爰片性色毛片小说 一级做a爰片性色毛片新版的 | 日韩一区二区久久久久久 | 一二三四视频免费视频 | 两性午夜又粗又大又爽视频 | 最近免费中文字幕mv视频 | 亚洲伊人影院 | 欧美极品jiizzhd欧美 | 欧美成人影院免费观 | 久久片| 成年人在线观看免费视频 | 日本视频一区二区免费播放 | 中文字幕三区 | 成人亚洲欧美日韩中文字幕 | 久久毛片久久毛 |