YurunHttp 請(qǐng)求類(HttpRequest.php)

2018-10-10 17:19 更新

目錄

[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/>

說明

$options

curl_setopt_array()所需要的第二個(gè)參數(shù)

// 支持自己設(shè)置額外的curl配置
$http->options = array(
    CURLOPT_CRLF                    =>   1,
    CURLOPT_DNS_USE_GLOBAL_CACHE    =>   false,
);

$headers

請(qǐng)求頭

// 支持設(shè)置請(qǐng)求時(shí)候的header頭
$http->headers = array(
    'User-Agent'    =>   'abc',
    'Accept'        =>   '*/*',
);

$cookies

Cookies

// 支持設(shè)置請(qǐng)求時(shí)候的cookie
$http->cookies = array(
    'uid'   =>   123,
    'token' =>   'aaaaaa',
);

$proxy

代理設(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
);

$saveFileOption

請(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)刪除了。

方法

__construct

構(gòu)造方法<br/>

定義: public function __construct()

參數(shù):

返回值: mixed

__destruct

析構(gòu)方法<br/>

定義: public function __destruct()

參數(shù):

返回值:

open

打開一個(gè)新連接,初始化所有參數(shù)。一般不需要手動(dòng)調(diào)用。<br/>

定義: public function open()

參數(shù):

返回值: void

close

關(guān)閉連接。一般不需要手動(dòng)調(diào)用。<br/>

定義: public function close()

參數(shù):

返回值: void

HttpRequest::newSession

創(chuàng)建一個(gè)新會(huì)話,等同于new<br/>

定義: public static function newSession()

參數(shù):

返回值: HttpRequest

url

設(shè)置請(qǐng)求地址<br/>

定義: public function url($url)

參數(shù):

名稱 類型 描述
$url string 請(qǐng)求地址

返回值: HttpRequest

content

設(shè)置發(fā)送內(nèi)容,requestBody的別名<br/>

定義: public function content($content)

參數(shù):

名稱 類型 描述
$content mixed 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody

返回值: HttpRequest

params

設(shè)置參數(shù),requestBody的別名<br/>

定義: public function params($params)

參數(shù):

名稱 類型 描述
$params mixed 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody

返回值: HttpRequest

requestBody

設(shè)置請(qǐng)求主體<br/>

定義: public function requestBody($requestBody)

參數(shù):

名稱 類型 描述
$requestBody mixed 發(fā)送內(nèi)容,可以是字符串、數(shù)組、HttpRequestMultipartBody

返回值: HttpRequest

options

批量設(shè)置CURL的Option<br/>

定義: public function options($options)

參數(shù):

名稱 類型 描述
$options array curl_setopt_array()所需要的第二個(gè)參數(shù)

返回值: HttpRequest

option

設(shè)置CURL的Option<br/>

定義: public function option($option, $value)

參數(shù):

名稱 類型 描述
$option int 需要設(shè)置的CURLOPT_XXX選項(xiàng)
$value mixed

返回值: HttpRequest

headers

批量設(shè)置請(qǐng)求頭<br/>

定義: public function headers($headers)

參數(shù):

名稱 類型 描述
$headers array /

返回值: HttpRequest

header

設(shè)置請(qǐng)求頭<br/>

定義: public function header($header, $value)

參數(shù):

名稱 類型 描述
$header string 請(qǐng)求頭名稱
$value string

返回值: HttpRequest

accept

設(shè)置Accept<br/>

定義: public function accept($accept)

參數(shù):

名稱 類型 描述
$accept string /

返回值: HttpRequest

acceptLanguage

設(shè)置Accept-Language<br/>

定義: public function acceptLanguage($acceptLanguage)

參數(shù):

名稱 類型 描述
$acceptLanguage string /

返回值: HttpRequest

acceptEncoding

設(shè)置Accept-Encoding<br/>

定義: public function acceptEncoding($acceptEncoding)

參數(shù):

名稱 類型 描述
$acceptEncoding string /

返回值: HttpRequest

acceptRanges

設(shè)置Accept-Ranges<br/>

定義: public function acceptRanges($acceptRanges)

參數(shù):

名稱 類型 描述
$acceptRanges string /

返回值: HttpRequest

cacheControl

設(shè)置Cache-Control<br/>

定義: public function cacheControl($cacheControl)

參數(shù):

名稱 類型 描述
$cacheControl string /

返回值: HttpRequest

cookies

批量設(shè)置Cookies<br/>

定義: public function cookies($cookies)

參數(shù):

名稱 類型 描述
$cookies array 鍵值對(duì)應(yīng)數(shù)組

返回值: HttpRequest

cookie

設(shè)置Cookie<br/>

定義: public function cookie($name, $value)

參數(shù):

名稱 類型 描述
$name string 名稱
$value string

返回值: HttpRequest

contentType

設(shè)置Content-Type<br/>

定義: public function contentType($contentType)

參數(shù):

名稱 類型 描述
$contentType string /

返回值: HttpRequest

range

設(shè)置Range<br/>

定義: public function range($range)

參數(shù):

名稱 類型 描述
$range string /

返回值: HttpRequest

referer

設(shè)置Referer<br/>

定義: public function referer($referer)

參數(shù):

名稱 類型 描述
$referer string /

返回值: HttpRequest

userAgent

設(shè)置User-Agent<br/>

定義: public function userAgent($userAgent)

參數(shù):

名稱 類型 描述
$userAgent string /

返回值: HttpRequest

ua

設(shè)置User-Agent,userAgent的別名<br/>

定義: public function ua($userAgent)

參數(shù):

名稱 類型 描述
$userAgent string /

返回值: HttpRequest

retry

設(shè)置失敗重試次數(shù),狀態(tài)碼非200時(shí)重試<br/>

定義: public function retry($retry)

參數(shù):

名稱 類型 描述
$retry string /

返回值: HttpRequest

proxy

代理<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

timeout

設(shè)置超時(shí)時(shí)間<br/>

定義: public function timeout($timeout = null, $connectTimeout = null)

參數(shù):

名稱 類型 描述
$timeout int 總超時(shí)時(shí)間,單位:毫秒
$connectTimeout int 連接超時(shí)時(shí)間,單位:毫秒

返回值: HttpRequest

limitRate

限速<br/>

定義: public function limitRate($download = 0, $upload = 0)

參數(shù):

名稱 類型 描述
$download int 下載速度,為0則不限制,單位:字節(jié)
$upload int 上傳速度,為0則不限制,單位:字節(jié)

返回值: HttpRequest

userPwd

設(shè)置用于連接中需要的用戶名和密碼<br/>

定義: public function userPwd($username, $password)

參數(shù):

名稱 類型 描述
$username string 用戶名
$password string 密碼

返回值: HttpRequest

saveFile

保存至文件的設(shè)置<br/>

定義: public function saveFile($filePath, $fileMode = "w+")

參數(shù):

名稱 類型 描述
$filePath string 文件路徑
$fileMode string 文件打開方式,默認(rèn)w+

返回值: HttpRequest

getSavePath

獲取文件保存路徑<br/>

定義: public function getSavePath()

參數(shù):

返回值: string

sslCert

設(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

sslKey

設(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

send

發(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

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

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

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

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

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

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

download

直接下載文件<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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)