麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

PHP CURL用法詳解

2024-09-04 11:48:11
字體:
供稿:網(wǎng)友

PHP CURL的作用對于很多應(yīng)用來說有很大的用處,下面我來詳細(xì)介紹php curl用法詳解,有需要了解的朋友可進(jìn)入?yún)⒖肌?/p>

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

curl_close — 關(guān)閉一個curl會話

curl_copy_handle — 拷貝一個curl連接資源的所有內(nèi)容和參數(shù)

curl_errno — 返回一個包含當(dāng)前會話錯誤信息的數(shù)字編號

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

curl_exec — 執(zhí)行一個curl會話

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

curl_init — 初始化一個curl會話

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

curl_multi_close — 關(guān)閉一個批處理句柄資源

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

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

curl_multi_info_read — 獲取當(dāng)前解析的curl的相關(guān)傳輸信息

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

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

curl_setopt_array — 以數(shù)組的形式為一個curl設(shè)置會話參數(shù)

curl_setopt — 為一個curl設(shè)置會話參數(shù)

curl_version — 獲取curl相關(guān)的版本信息

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

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

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

1. php curl的默認(rèn)調(diào)用方法,get方式訪問url,代碼如下:

  1. $ch = curl_init();  
  2. curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //設(shè)置http頭  
  3. curl_setopt($ch, CURLOPT_ENCODING, "gzip" ); //設(shè)置為客戶端支持gzip壓縮  
  4. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設(shè)置連接等待時間  
  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. 設(shè)置http header支持curl訪問lighttpd服務(wù)器,Java代碼如下:

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

3. 設(shè)置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.訪問虛擬主機(jī),需設(shè)置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,需要服務(wù)器支持這些方法。 

6.保存下載內(nèi)容為文件,代碼如下:

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函數(shù)庫的步驟

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

2).把php5/libeay32.dll,ssleay32.dll復(fù)制到系統(tǒng)目錄windows/下

3).重啟apache

配置php支持curl

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

配置方法:

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

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

php下擴(kuò)展php_curl.dll的安裝

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 一区二区三区日韩在线观看 | 亚洲va久久久噜噜噜久久男同 | 羞羞答答xxdd在线播放 | 羞羞色网站 | 欧美亚洲综合在线 | 免费高清一级欧美片在线观看 | 可以看逼的视频 | 久热久操 | 蜜桃成品人免费视频 | 在线播放免费播放av片 | 国产精品久久国产精麻豆96堂 | 中文字幕在线观看视频一区 | 亚洲婷婷日日综合婷婷噜噜噜 | 国产精品爱久久久久久久 | 爽爽视频免费看 | 国产精品久久久久国产精品三级 | 草久影视 | 久久艹逼 | 中文在线日韩 | 欧美一级高清免费 | 国产精品久久久久久久久久免 | 有色视频在线观看 | 精品1| 精品国产91久久久久久久 | 蜜桃麻豆视频 | 九色p| 一区二区视频在线看 | 成人国产精品一区二区毛片在线 | 国产一区二区三区精品在线观看 | 国产亚洲精品久久久久婷婷瑜伽 | 精品一区二区中文字幕 | 国产一级aa大片毛片 | 亚洲精品成人18久久久久 | 调教小男生抽打尿孔嗯啊视频 | 福利一区二区三区视频在线观看 | 国产亚洲美女精品久久久2020 | 久久人添人人爽人人爽人人片av | 国产精品自拍av | 久久亚洲网| 色综合久久久久久久久久久 | 国产成人精品一区二区视频免费 |