本文目錄一覽:
PHP使用curl的問題?
這是PHP對於curl的一個解釋,簡單地說就是,curl是一個庫,能讓你通過URL和許多不同種的伺服器進行勾搭、搭訕和深入交流,並且還支持許多協議。並且人家還說了curl可以支持https認證、http post、ftp上傳、代理、cookies、簡單口令認證等等功能啦。
PHP語言中php curl的幾種應用方式
今天我們向大家介紹的是在PHP中的php curl的幾種使用方式,希望對有需要的朋友有所幫助。
2. 設置http header支持php curl訪問lighttpd伺服器
3. 設置curl,只獲取http header,不獲取body:
或者只獲取body:
4. 訪問虛擬主機,需設置Host
5. 使用post, put, delete等REStful方式訪問url
6. php curl保存下載內容為文件
PHP_CURL使用詳解
CURL是PHP的一個擴展,利用該擴展可以實現伺服器之間的數據或文件傳輸,用來採集網路中的html網頁文件、其他伺服器提供介面數據等。
GET請求
POST請求
PHP如何開啟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即可.
php curl的幾種用法
總結一下項目中用到curl的幾種方式1. php curl的默認調用方法,get方式訪問url$ch = curl_init();curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //設置http頭curl_setopt($ch, CURLOPT_ENCODING, “gzip” ); //設置為客戶端支持gzip壓縮curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設置連接等待時間curl_setopt($ch, CURLOPT_URL, $url );curl_exec( $ch );if ($error = curl_error($ch) ) {//出錯處理return -1;}fclose($fp);$curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //獲取http返回值if( $curl_code == 200 ) {//正常訪問url}//異常2. 設置http header支持curl訪問lighttpd伺服器Java代碼$header[]= ‘Expect:’;$header[]= ‘Expect:’;3. 設置curl,只獲取http header,不獲取body:Java代碼curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_NOBODY, 1);curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_NOBODY, 1);或者只獲取body:Java代碼curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the bodycurl_setopt($ch, CURLOPT_NOBODY, 0);curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the bodycurl_setopt($ch, CURLOPT_NOBODY, 0);4. 訪問虛擬主機,需設置Host$header[]= ‘Host: ‘.$host;5. 使用post, put, delete等REStful方式訪問urlpost:curl_setopt($ch, CURLOPT_POST, 1 );put, delete:curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “DELETE”); //或者PUT,需要伺服器支持這些方法。6. 保存下載內容為文件
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/298168.html