YurunHttp 请求类(HttpRequest.php)

2018-10-10 17:19 更新

目录

[TOC]

说明

所有属性都可以通过链式操作方法进行设置,当然你也可以手动赋值,一切都是你自己的选择。

命名空间

Yurun\Until\HttpRequest

属性

名称 类型 说明
$handler resource CURL操作对象,curl_init()的返回值<br/>
$url string 需要请求的Url地址<br/>
$content mixed 发送内容,可以是字符串、数组、HttpRequestMultipartBody<br/>
$options array curl_setopt_array()所需要的第二个参数<br/>
$headers array 请求头<br/>
$cookies array Cookies<br/>
$cookieFileName string 保存Cookie文件的文件名,为空不保存<br/>
$retry int 失败重试次数,默认为0<br/>
$useProxy bool 是否使用代理,默认false<br/>
$proxy array 代理设置<br/>
$isVerifyCA bool 是否验证证书<br/>
$caCert string CA根证书路径<br/>
$connectTimeout int 连接超时时间,单位:毫秒<br/>
$timeout int 总超时时间,单位:毫秒<br/>
$downloadSpeed int 下载限速,为0则不限制,单位:字节<br/>
$uploadSpeed int 上传限速,为0则不限制,单位:字节<br/>
$username string 用于连接中需要的用户名<br/>
$password string 用于连接中需要的密码<br/>
$saveFileOption mixed 请求结果保存至文件的配置<br/>
$followLocation bool 根据location自动重定向<br/>
$maxRedirects int 最大重定向次数<br/>
$certType string 证书类型<br/>支持的格式有"PEM" (默认值), "DER"和"ENG"<br/>
$certPath string 一个包含 PEM 格式证书的文件名<br/>
$certPassword string 使用证书需要的密码<br/>
$keyType string certType规定的私钥的加密类型,支持的密钥类型为"PEM"(默认值)、"DER"和"ENG"<br/>
$keyPath string 包含 SSL 私钥的文件名<br/>
$keyPassword string SSL私钥的密码<br/>

说明

$options

curl_setopt_array()所需要的第二个参数

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

$headers

请求头

// 支持设置请求时候的header头
$http->headers = array(
    'User-Agent'    =>   'abc',
    'Accept'        =>   '*/*',
);

$cookies

Cookies

// 支持设置请求时候的cookie
$http->cookies = array(
    'uid'   =>   123,
    'token' =>   'aaaaaa',
);

$proxy

代理设置

$http->proxy = array(
    'server'    =>   '127.0.0.1', // 代理服务器地址
    'port'      =>   25, // 代理服务器端口
    'type'      =>   , // 代理类型,支持:http、socks4、socks4a、socks5
    'auth'      =>   'basic', // 代理认证方式,支持:basic、ntlm。一般默认basic
);

$saveFileOption

请求结果保存至文件的配置

$this->saveFileOption['filePath'] = '1.txt'; // 保存到的文件名
$this->saveFileOption['fileMode'] = 'w+'; // fopen支持的这里也都支持

在处理请求期间,还会写入键fp为打开文件的句柄,这个一般不用关心也没法进行操作。写入文件后fp值自动删除了。

方法

__construct

构造方法<br/>

定义: public function __construct()

参数:

返回值: mixed

__destruct

析构方法<br/>

定义: public function __destruct()

参数:

返回值:

open

打开一个新连接,初始化所有参数。一般不需要手动调用。<br/>

定义: public function open()

参数:

返回值: void

close

关闭连接。一般不需要手动调用。<br/>

定义: public function close()

参数:

返回值: void

HttpRequest::newSession

创建一个新会话,等同于new<br/>

定义: public static function newSession()

参数:

返回值: HttpRequest

url

设置请求地址<br/>

定义: public function url($url)

参数:

名称 类型 描述
$url string 请求地址

返回值: HttpRequest

content

设置发送内容,requestBody的别名<br/>

定义: public function content($content)

参数:

名称 类型 描述
$content mixed 发送内容,可以是字符串、数组、HttpRequestMultipartBody

返回值: HttpRequest

params

设置参数,requestBody的别名<br/>

定义: public function params($params)

参数:

名称 类型 描述
$params mixed 发送内容,可以是字符串、数组、HttpRequestMultipartBody

返回值: HttpRequest

requestBody

设置请求主体<br/>

定义: public function requestBody($requestBody)

参数:

名称 类型 描述
$requestBody mixed 发送内容,可以是字符串、数组、HttpRequestMultipartBody

返回值: HttpRequest

options

批量设置CURL的Option<br/>

定义: public function options($options)

参数:

名称 类型 描述
$options array curl_setopt_array()所需要的第二个参数

返回值: HttpRequest

option

设置CURL的Option<br/>

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

参数:

名称 类型 描述
$option int 需要设置的CURLOPT_XXX选项
$value mixed

返回值: HttpRequest

headers

批量设置请求头<br/>

定义: public function headers($headers)

参数:

名称 类型 描述
$headers array /

返回值: HttpRequest

header

设置请求头<br/>

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

参数:

名称 类型 描述
$header string 请求头名称
$value string

返回值: HttpRequest

accept

设置Accept<br/>

定义: public function accept($accept)

参数:

名称 类型 描述
$accept string /

返回值: HttpRequest

acceptLanguage

设置Accept-Language<br/>

定义: public function acceptLanguage($acceptLanguage)

参数:

名称 类型 描述
$acceptLanguage string /

返回值: HttpRequest

acceptEncoding

设置Accept-Encoding<br/>

定义: public function acceptEncoding($acceptEncoding)

参数:

名称 类型 描述
$acceptEncoding string /

返回值: HttpRequest

acceptRanges

设置Accept-Ranges<br/>

定义: public function acceptRanges($acceptRanges)

参数:

名称 类型 描述
$acceptRanges string /

返回值: HttpRequest

cacheControl

设置Cache-Control<br/>

定义: public function cacheControl($cacheControl)

参数:

名称 类型 描述
$cacheControl string /

返回值: HttpRequest

cookies

批量设置Cookies<br/>

定义: public function cookies($cookies)

参数:

名称 类型 描述
$cookies array 键值对应数组

返回值: HttpRequest

cookie

设置Cookie<br/>

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

参数:

名称 类型 描述
$name string 名称
$value string

返回值: HttpRequest

contentType

设置Content-Type<br/>

定义: public function contentType($contentType)

参数:

名称 类型 描述
$contentType string /

返回值: HttpRequest

range

设置Range<br/>

定义: public function range($range)

参数:

名称 类型 描述
$range string /

返回值: HttpRequest

referer

设置Referer<br/>

定义: public function referer($referer)

参数:

名称 类型 描述
$referer string /

返回值: HttpRequest

userAgent

设置User-Agent<br/>

定义: public function userAgent($userAgent)

参数:

名称 类型 描述
$userAgent string /

返回值: HttpRequest

ua

设置User-Agent,userAgent的别名<br/>

定义: public function ua($userAgent)

参数:

名称 类型 描述
$userAgent string /

返回值: HttpRequest

retry

设置失败重试次数,状态码非200时重试<br/>

定义: public function retry($retry)

参数:

名称 类型 描述
$retry string /

返回值: HttpRequest

proxy

代理<br/>

定义: public function proxy($server, $port, $type = "http", $auth = "basic")

参数:

名称 类型 描述
$server string 代理服务器地址
$port int 代理服务器端口
$type string 代理类型,支持:http、socks4、socks4a、socks5
$auth string 代理认证方式,支持:basic、ntlm。一般默认basic

返回值: HttpRequest

timeout

设置超时时间<br/>

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

参数:

名称 类型 描述
$timeout int 总超时时间,单位:毫秒
$connectTimeout int 连接超时时间,单位:毫秒

返回值: HttpRequest

limitRate

限速<br/>

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

参数:

名称 类型 描述
$download int 下载速度,为0则不限制,单位:字节
$upload int 上传速度,为0则不限制,单位:字节

返回值: HttpRequest

userPwd

设置用于连接中需要的用户名和密码<br/>

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

参数:

名称 类型 描述
$username string 用户名
$password string 密码

返回值: HttpRequest

saveFile

保存至文件的设置<br/>

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

参数:

名称 类型 描述
$filePath string 文件路径
$fileMode string 文件打开方式,默认w+

返回值: HttpRequest

getSavePath

获取文件保存路径<br/>

定义: public function getSavePath()

参数:

返回值: string

sslCert

设置SSL证书<br/>

定义: public function sslCert($path, $type = null, $password = null)

参数:

名称 类型 描述
$path string 一个包含
$type string 证书类型,支持的格式有”PEM”(默认值),“DER”和”ENG”
$password string 使用证书需要的密码

返回值: HttpRequest

sslKey

设置SSL私钥<br/>

定义: public function sslKey($path, $type = null, $password = null)

参数:

名称 类型 描述
$path string 包含
$type string certType规定的私钥的加密类型,支持的密钥类型为”PEM”(默认值)、”DER”和”ENG”
$password string SSL私钥的密码

返回值: HttpRequest

send

发送请求,所有请求的老祖宗<br/>

定义: public function send($url = null, $requestBody = [], $method = "GET")

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值
$method array 请求方法,GET、POST等

返回值: HttpResponse

get

GET请求<br/>

定义: public function get($url = null, $requestBody = [])

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值

返回值: HttpResponse

post

POST请求<br/>

定义: public function post($url = null, $requestBody = [])

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值

返回值: HttpResponse

head

HEAD请求<br/>

定义: public function head($url = null, $requestBody = [])

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值

返回值: HttpResponse

put

PUT请求<br/>

定义: public function put($url = null, $requestBody = [])

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值

返回值: HttpResponse

patch

PATCH请求<br/>

定义: public function patch($url = null, $requestBody = [])

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值

返回值: HttpResponse

delete

DELETE请求<br/>

定义: public function delete($url = null, $requestBody = [])

参数:

名称 类型 描述
$url string 请求地址,如果为null则取url属性值
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值

返回值: HttpResponse

download

直接下载文件<br/>

定义: public function download($fileName, $url = null, $requestBody = [], $method = "GET")

参数:

名称 类型 描述
$fileName string 保存路径
$url string 下载文件地址
$requestBody array 发送内容,可以是字符串、数组、HttpRequestMultipartBody,如果为空则取content属性值
$method string 请求方法,GET、POST等,一般用GET

返回值: HttpResponse

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号