配置参数表

|符号分割多种可选值

keytypeintroductionexampleremark
protocolversionstringHTTP协议版本1.1HTTP2还在规划中
baseuristring基础路径http://httpbin.org将会与uri按照rfc3986合并
uristring资源标识符http://httpbin.org/get | /get | get可以使用绝对路径和相对路径
uri_querystring|array请求信息[‘foo’ => ‘bar’]非字符串会自动转换
methodstring请求方法get | post | head | patch | put | delete底层自动转换为大写
headersarray请求报头[‘DNT’ => ‘1’] | [‘accept’ => [‘text/html’], [‘application/xml’]]字段名不区分大小写, 但会保留设定时的原始大小写规则, 底层每个字段值会根据PSR-7自动分割为数组
cookiesarray|string[‘foo ‘=> ‘bar’] | ‘foo=bar; foz=baz’底层自动转化为Cookies对象, 并设置其domain为当前的uri, 具有浏览器级别的完备属性.
useragentstring用户代理curl-1.0默认为macos平台的chrome
refererstring来源地址https://www.google.com默认为空
redirectint最大重定向次数5默认为3, 为0时不重定向.
keep_alivebool是否保持连接true | false默认为true, 重定向时会自动复用连接
content_typestring发送的内容编码类型text/plain | Swlib\Http\ContentType::JSON默认为application/x-www-form-urlencoded
dataarray | string发送的数据‘foo=bar&dog=cat’ | [‘foo’ => ‘bar’]会根据content_type自动编码数据
beforecallable | array请求前拦截器function(Request $request){}具体参考拦截器一节
aftercallable | array响应后拦截器function(Response $response){}具体参考拦截器一节
before_redirectcallable | array重定向后拦截器function(Request $request, Response $response){}具体参考拦截器一节
timeoutfloat超时时间0.5默认5s, 支持毫秒级超时
bind_addressstring绑定地址192.168.1.1 或 eth0默认不设置
bind_portint绑定端口80默认不设置
proxystring代理http://127.0.0.1:1087 | socks5://127.0.0.1:1087支持http和socks5
sslint是否开启ssl连接0=关闭 1=开启 2=自动默认自动
cafilestringca文件__DIR . ‘/cacert.pem’默认自带
ssl_verify_peerbool验证服务器端证书false | true默认关闭
ssl_allow_self_signedbool允许自签名证书true | false默认允许
iconvarray指定编码转换[‘gbk’, ‘utf-8’]共三个参数为from,to,use_mb, 默认自动识别
exception_reportint异常报告级别HttpExceptionMask::E_ALL默认汇报所有异常
exception_handlecallable|array异常自定义处理函数function(Exception $e){}函数返回true时可忽略错误
retrycallable自动重试拦截器function(Request $request, Response $response){}位于发生错误后及重试之前
retry_timeint自动重试次数默认不重试
use_poolbool|int连接池truefalse

配置参数别名

为了使用方便与容错, 配置项的键值具有别名机制, 建议尽量使用本名:

keyalias
method0
uri1 | url
data2 | body
base_uribase_url
aftercallback
content_typecontent-type | contentType
cookiescookie
headersheader
redirectfollow
useragentua | user-agent
exception_reporterror_report | report
before_retryretry
refererref | referrer