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,代碼如下:
2. 設置http header支持curl訪問lighttpd服務器,Java代碼如下:
$header[]= 'Expect:';$header[]= 'Expect:';
3. 設置curl,只獲取http header,不獲取body,Java代碼如下:
或者只獲取body,Java代碼如下:
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請求,代碼如下:
模仿get登錄,代碼如下:
注意,如果你的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即可.