[TOC]
所有屬性都可以通過鏈?zhǔn)讲僮鞣椒ㄟM(jìn)行設(shè)置,當(dāng)然你也可以手動(dòng)賦值,一切都是你自己的選擇。
Yurun\Until\HttpRequest
名稱 | 類型 | 說明 |
---|---|---|
$handler | resource | CURL操作對(duì)象,curl_init() 的返回值<br/> |
$url | string | 需要請(qǐng)求的Url地址<br/> |
$content | mixed | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody <br/> |
$options | array | curl_setopt_array() 所需要的第二個(gè)參數(shù)<br/> |
$headers | array | 請(qǐng)求頭<br/> |
$cookies | array | Cookies<br/> |
$cookieFileName | string | 保存Cookie文件的文件名,為空不保存<br/> |
$retry | int | 失敗重試次數(shù),默認(rèn)為0<br/> |
$useProxy | bool | 是否使用代理,默認(rèn)false<br/> |
$proxy | array | 代理設(shè)置<br/> |
$isVerifyCA | bool | 是否驗(yàn)證證書<br/> |
$caCert | string | CA根證書路徑<br/> |
$connectTimeout | int | 連接超時(shí)時(shí)間,單位:毫秒<br/> |
$timeout | int | 總超時(shí)時(shí)間,單位:毫秒<br/> |
$downloadSpeed | int | 下載限速,為0則不限制,單位:字節(jié)<br/> |
$uploadSpeed | int | 上傳限速,為0則不限制,單位:字節(jié)<br/> |
$username | string | 用于連接中需要的用戶名<br/> |
$password | string | 用于連接中需要的密碼<br/> |
$saveFileOption | mixed | 請(qǐng)求結(jié)果保存至文件的配置<br/> |
$followLocation | bool | 根據(jù)location自動(dòng)重定向<br/> |
$maxRedirects | int | 最大重定向次數(shù)<br/> |
$certType | string | 證書類型<br/>支持的格式有"PEM" (默認(rèn)值), "DER"和"ENG"<br/> |
$certPath | string | 一個(gè)包含 PEM 格式證書的文件名<br/> |
$certPassword | string | 使用證書需要的密碼<br/> |
$keyType | string | certType規(guī)定的私鑰的加密類型,支持的密鑰類型為"PEM"(默認(rèn)值)、"DER"和"ENG"<br/> |
$keyPath | string | 包含 SSL 私鑰的文件名<br/> |
$keyPassword | string | SSL私鑰的密碼<br/> |
curl_setopt_array()
所需要的第二個(gè)參數(shù)
// 支持自己設(shè)置額外的curl配置
$http->options = array(
CURLOPT_CRLF => 1,
CURLOPT_DNS_USE_GLOBAL_CACHE => false,
);
請(qǐng)求頭
// 支持設(shè)置請(qǐng)求時(shí)候的header頭
$http->headers = array(
'User-Agent' => 'abc',
'Accept' => '*/*',
);
Cookies
// 支持設(shè)置請(qǐng)求時(shí)候的cookie
$http->cookies = array(
'uid' => 123,
'token' => 'aaaaaa',
);
代理設(shè)置
$http->proxy = array(
'server' => '127.0.0.1', // 代理服務(wù)器地址
'port' => 25, // 代理服務(wù)器端口
'type' => , // 代理類型,支持:http、socks4、socks4a、socks5
'auth' => 'basic', // 代理認(rèn)證方式,支持:basic、ntlm。一般默認(rèn)basic
);
請(qǐng)求結(jié)果保存至文件的配置
$this->saveFileOption['filePath'] = '1.txt'; // 保存到的文件名
$this->saveFileOption['fileMode'] = 'w+'; // fopen支持的這里也都支持
在處理請(qǐng)求期間,還會(huì)寫入鍵fp為打開文件的句柄,這個(gè)一般不用關(guān)心也沒法進(jìn)行操作。寫入文件后fp值自動(dòng)刪除了。
構(gòu)造方法<br/>
定義: public function __construct()
參數(shù): 無
返回值: mixed
析構(gòu)方法<br/>
定義: public function __destruct()
參數(shù): 無
返回值: 無
打開一個(gè)新連接,初始化所有參數(shù)。一般不需要手動(dòng)調(diào)用。<br/>
定義: public function open()
參數(shù): 無
返回值: void
關(guān)閉連接。一般不需要手動(dòng)調(diào)用。<br/>
定義: public function close()
參數(shù): 無
返回值: void
創(chuàng)建一個(gè)新會(huì)話,等同于new<br/>
定義: public static function newSession()
參數(shù): 無
返回值: HttpRequest
設(shè)置請(qǐng)求地址<br/>
定義: public function url($url)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址 |
返回值: HttpRequest
設(shè)置發(fā)送內(nèi)容,requestBody的別名<br/>
定義: public function content($content)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$content | mixed | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody |
返回值: HttpRequest
設(shè)置參數(shù),requestBody的別名<br/>
定義: public function params($params)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$params | mixed | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody |
返回值: HttpRequest
設(shè)置請(qǐng)求主體<br/>
定義: public function requestBody($requestBody)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$requestBody | mixed | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody |
返回值: HttpRequest
批量設(shè)置CURL的Option<br/>
定義: public function options($options)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$options | array | curl_setopt_array()所需要的第二個(gè)參數(shù) |
返回值: HttpRequest
設(shè)置CURL的Option<br/>
定義: public function option($option, $value)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$option | int | 需要設(shè)置的CURLOPT_XXX選項(xiàng) |
$value | mixed | 值 |
返回值: HttpRequest
批量設(shè)置請(qǐng)求頭<br/>
定義: public function headers($headers)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$headers | array | / |
返回值: HttpRequest
設(shè)置請(qǐng)求頭<br/>
定義: public function header($header, $value)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$header | string | 請(qǐng)求頭名稱 |
$value | string | 值 |
返回值: HttpRequest
設(shè)置Accept<br/>
定義: public function accept($accept)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$accept | string | / |
返回值: HttpRequest
設(shè)置Accept-Language<br/>
定義: public function acceptLanguage($acceptLanguage)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$acceptLanguage | string | / |
返回值: HttpRequest
設(shè)置Accept-Encoding<br/>
定義: public function acceptEncoding($acceptEncoding)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$acceptEncoding | string | / |
返回值: HttpRequest
設(shè)置Accept-Ranges<br/>
定義: public function acceptRanges($acceptRanges)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$acceptRanges | string | / |
返回值: HttpRequest
設(shè)置Cache-Control<br/>
定義: public function cacheControl($cacheControl)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$cacheControl | string | / |
返回值: HttpRequest
批量設(shè)置Cookies<br/>
定義: public function cookies($cookies)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$cookies | array | 鍵值對(duì)應(yīng)數(shù)組 |
返回值: HttpRequest
設(shè)置Cookie<br/>
定義: public function cookie($name, $value)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$name | string | 名稱 |
$value | string | 值 |
返回值: HttpRequest
設(shè)置Content-Type<br/>
定義: public function contentType($contentType)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$contentType | string | / |
返回值: HttpRequest
設(shè)置Range<br/>
定義: public function range($range)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$range | string | / |
返回值: HttpRequest
設(shè)置Referer<br/>
定義: public function referer($referer)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$referer | string | / |
返回值: HttpRequest
設(shè)置User-Agent<br/>
定義: public function userAgent($userAgent)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$userAgent | string | / |
返回值: HttpRequest
設(shè)置User-Agent,userAgent的別名<br/>
定義: public function ua($userAgent)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$userAgent | string | / |
返回值: HttpRequest
設(shè)置失敗重試次數(shù),狀態(tài)碼非200時(shí)重試<br/>
定義: public function retry($retry)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$retry | string | / |
返回值: HttpRequest
代理<br/>
定義: public function proxy($server, $port, $type = "http", $auth = "basic")
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$server | string | 代理服務(wù)器地址 |
$port | int | 代理服務(wù)器端口 |
$type | string | 代理類型,支持:http、socks4、socks4a、socks5 |
$auth | string | 代理認(rèn)證方式,支持:basic、ntlm。一般默認(rèn)basic |
返回值: HttpRequest
設(shè)置超時(shí)時(shí)間<br/>
定義: public function timeout($timeout = null, $connectTimeout = null)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$timeout | int | 總超時(shí)時(shí)間,單位:毫秒 |
$connectTimeout | int | 連接超時(shí)時(shí)間,單位:毫秒 |
返回值: HttpRequest
限速<br/>
定義: public function limitRate($download = 0, $upload = 0)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$download | int | 下載速度,為0則不限制,單位:字節(jié) |
$upload | int | 上傳速度,為0則不限制,單位:字節(jié) |
返回值: HttpRequest
設(shè)置用于連接中需要的用戶名和密碼<br/>
定義: public function userPwd($username, $password)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$username | string | 用戶名 |
$password | string | 密碼 |
返回值: HttpRequest
保存至文件的設(shè)置<br/>
定義: public function saveFile($filePath, $fileMode = "w+")
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$filePath | string | 文件路徑 |
$fileMode | string | 文件打開方式,默認(rèn)w+ |
返回值: HttpRequest
獲取文件保存路徑<br/>
定義: public function getSavePath()
參數(shù): 無
返回值: string
設(shè)置SSL證書<br/>
定義: public function sslCert($path, $type = null, $password = null)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$path | string | 一個(gè)包含 |
$type | string | 證書類型,支持的格式有”PEM”(默認(rèn)值),“DER”和”ENG” |
$password | string | 使用證書需要的密碼 |
返回值: HttpRequest
設(shè)置SSL私鑰<br/>
定義: public function sslKey($path, $type = null, $password = null)
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$path | string | 包含 |
$type | string | certType規(guī)定的私鑰的加密類型,支持的密鑰類型為”PEM”(默認(rèn)值)、”DER”和”ENG” |
$password | string | SSL私鑰的密碼 |
返回值: HttpRequest
發(fā)送請(qǐng)求,所有請(qǐng)求的老祖宗<br/>
定義: public function send($url = null, $requestBody = [], $method = "GET")
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
$method | array | 請(qǐng)求方法,GET、POST等 |
返回值: HttpResponse
GET請(qǐng)求<br/>
定義: public function get($url = null, $requestBody = [])
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
返回值: HttpResponse
POST請(qǐng)求<br/>
定義: public function post($url = null, $requestBody = [])
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
返回值: HttpResponse
HEAD請(qǐng)求<br/>
定義: public function head($url = null, $requestBody = [])
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
返回值: HttpResponse
PUT請(qǐng)求<br/>
定義: public function put($url = null, $requestBody = [])
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
返回值: HttpResponse
PATCH請(qǐng)求<br/>
定義: public function patch($url = null, $requestBody = [])
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
返回值: HttpResponse
DELETE請(qǐng)求<br/>
定義: public function delete($url = null, $requestBody = [])
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$url | string | 請(qǐng)求地址,如果為null則取url屬性值 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
返回值: HttpResponse
直接下載文件<br/>
定義: public function download($fileName, $url = null, $requestBody = [], $method = "GET")
參數(shù):
名稱 | 類型 | 描述 |
---|---|---|
$fileName | string | 保存路徑 |
$url | string | 下載文件地址 |
$requestBody | array | 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody ,如果為空則取content屬性值 |
$method | string | 請(qǐng)求方法,GET、POST等,一般用GET |
返回值: HttpResponse
更多建議: