curl()

2018-06-30 18:26 更新

作用:進(jìn)行遠(yuǎn)程 HTTP 請求。 語法:?mixed?curl(mixed?$options[,?int?$wait?=?0])

參數(shù):

  • $options設(shè)置請求的選項(數(shù)組),也可以設(shè)置為一個 URL 地址;自 ModPHP 2.2.4 起,可以將其設(shè)置為一個索引數(shù)組來執(zhí)行批處理請求。
  • $wait ? ? ? 批處理請求時等待前一個處理完成的超時秒數(shù),默認(rèn) 0,即異步并行處理。

返回值:

  • 返回請求結(jié)果。如果執(zhí)行批處理請求,則返回一個包含所有請求結(jié)果的數(shù)組。

依賴擴(kuò)展:

說明: ? ? ? $options 參數(shù)設(shè)定遠(yuǎn)程請求的各種選項,最多支持下面這些參數(shù)。

  • string url 請求地址。
  • string method 請求方式: POST 或 GET(默認(rèn))。
  • mixed data POST 數(shù)據(jù), 支持關(guān)聯(lián)數(shù)組、索引數(shù)組、URL 查詢字符串以及原生 POST 數(shù)據(jù), 要發(fā)送文件,需要在文件名前面加上@前綴(兼容 PHP 5.5.0+),可選在文件名后加 ;type={Mime-Type}來設(shè)置文件的 MIME 類型。
  • mixed cookie 發(fā)送 Cookie, 支持關(guān)聯(lián)數(shù)組、索引數(shù)組和 Cookie 字符串。
  • string referer 來路頁面地址。
  • string userAgent 客戶端信息,默認(rèn)值為 curl/版本號。
  • array requestHeaders 請求頭部信息,支持索引數(shù)組和關(guān)聯(lián)數(shù)組。
  • int followLocation 跟隨跳轉(zhuǎn)次數(shù),默認(rèn)值 0,即不跟隨跳轉(zhuǎn)。
  • bool autoReferer 跟隨跳轉(zhuǎn)時自動設(shè)置來路頁面,默認(rèn)值 true。
  • bool sslVerify 是否使用 SSL 安全驗證,默認(rèn)值 false。
  • string proxy?代理服務(wù)器(格式: 8.8.8.8:80)
  • string clientIp 客戶端 IP 地址。
  • bool onlyIpv4 只按 IPv4 協(xié)議解析 DNS,默認(rèn)值 ture。
  • int timeout 超時設(shè)置,單位 秒,默認(rèn)值 10。
  • string username HTTP 訪問認(rèn)證用戶名。
  • string password HTTP 訪問認(rèn)證密碼。
  • string charset 設(shè)置目標(biāo)頁面編碼,方便轉(zhuǎn)換為 UTF-8,如不設(shè)置,則嘗試自動檢測。
  • bool parseJSON 始終解析 JSON(ModPHP 1.4.9 之后),默認(rèn) false,ModPHP 1.5.1 之后會根據(jù)響應(yīng)頭自動解析 JSON。
  • bool decodeUnicode 解析 Unicode 字符,默認(rèn)為 false,ModPHP 2.2.4 起可用,在這之前,默認(rèn)是解析的。
  • callable success 請求成功時的回調(diào)函數(shù)。
  • callable error 請求失敗時的回調(diào)函數(shù)。
  • array extra 其他 CURL 選項參數(shù),即 curl_setopt_array() 函數(shù)的第二個參數(shù)。

如果要請求多個網(wǎng)頁,相比使用 for 或者 while 等循環(huán)方式一個一個來進(jìn)行訪問,批處理能夠同時并行地發(fā)送請求和獲取結(jié)果,其效率要遠(yuǎn)大于循環(huán)進(jìn)行的單個請求,因此請優(yōu)先考慮批處理。

示例:

<?php
echo curl('http://ip.cn'); //進(jìn)行一個 HTTP 請求,將輸出當(dāng)前服務(wù)器的 IP 地址
echo curl(array('url'=>'http://ip.cn', 'userAgent'=>'Google Chrome')); //進(jìn)行請求并設(shè)置請求選項
?
$options = array( //批處理選項
 'http://modphp.hyurl.com', //使用默認(rèn)參數(shù)進(jìn)行請求
 array( //自定義參數(shù)進(jìn)行請求
 'url'=>'http://127.0.0.1/modphp/test.php',
 'method'=>'post',
 'data'=>array(
 'test'=>'test',
 'file'=>'@test.txt' //發(fā)送文件
 ),
 ),
 );
print_r(curl($options)); //執(zhí)行批處理請求并打印結(jié)果
print_r(curl_info()); //打印 CURL 請求信息
print_r(curl_cookie_str()); //打印所有返回的 Cookie,如果有
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號