配置参数表
|
符号分割多种可选值
key | type | introduction | example | remark |
---|---|---|---|---|
protocolversion | string | HTTP协议版本 | 1.1 | HTTP2还在规划中 |
baseuri | string | 基础路径 | http://httpbin.org | 将会与uri按照rfc3986合并 |
uri | string | 资源标识符 | http://httpbin.org/get | /get | get | 可以使用绝对路径和相对路径 |
uri_query | string|array | 请求信息 | [‘foo’ => ‘bar’] | 非字符串会自动转换 |
method | string | 请求方法 | get | post | head | patch | put | delete | 底层自动转换为大写 |
headers | array | 请求报头 | [‘DNT’ => ‘1’] | [‘accept’ => [‘text/html’], [‘application/xml’]] | 字段名不区分大小写, 但会保留设定时的原始大小写规则, 底层每个字段值会根据PSR-7自动分割为数组 |
cookies | array |string | [‘foo ‘=> ‘bar’] | ‘foo=bar; foz=baz’ | 底层自动转化为Cookies对象, 并设置其domain为当前的uri, 具有浏览器级别的完备属性. | |
useragent | string | 用户代理 | curl-1.0 | 默认为macos平台的chrome |
referer | string | 来源地址 | https://www.google.com | 默认为空 |
redirect | int | 最大重定向次数 | 5 | 默认为3, 为0时不重定向. |
keep_alive | bool | 是否保持连接 | true | false | 默认为true, 重定向时会自动复用连接 |
content_type | string | 发送的内容编码类型 | text/plain | Swlib\Http\ContentType::JSON | 默认为application/x-www-form-urlencoded |
data | array | string | 发送的数据 | ‘foo=bar&dog=cat’ | [‘foo’ => ‘bar’] | 会根据content_type自动编码数据 |
before | callable | array | 请求前拦截器 | function(Request $request){} | 具体参考拦截器一节 |
after | callable | array | 响应后拦截器 | function(Response $response){} | 具体参考拦截器一节 |
before_redirect | callable | array | 重定向后拦截器 | function(Request $request, Response $response){} | 具体参考拦截器一节 |
timeout | float | 超时时间 | 0.5 | 默认5s, 支持毫秒级超时 |
bind_address | string | 绑定地址 | 192.168.1.1 或 eth0 | 默认不设置 |
bind_port | int | 绑定端口 | 80 | 默认不设置 |
proxy | string | 代理 | http://127.0.0.1:1087 | socks5://127.0.0.1:1087 | 支持http和socks5 |
ssl | int | 是否开启ssl连接 | 0=关闭 1=开启 2=自动 | 默认自动 |
cafile | string | ca文件 | __DIR . ‘/cacert.pem’ | 默认自带 |
ssl_verify_peer | bool | 验证服务器端证书 | false | true | 默认关闭 |
ssl_allow_self_signed | bool | 允许自签名证书 | true | false | 默认允许 |
iconv | array | 指定编码转换 | [‘gbk’, ‘utf-8’] | 共三个参数为from,to,use_mb , 默认自动识别 |
exception_report | int | 异常报告级别 | HttpExceptionMask::E_ALL | 默认汇报所有异常 |
exception_handle | callable|array | 异常自定义处理函数 | function(Exception $e){} | 函数返回true时可忽略错误 |
retry | callable | 自动重试拦截器 | function(Request $request, Response $response){} | 位于发生错误后及重试之前 |
retry_time | int | 自动重试次数 | 默认不重试 | |
use_pool | bool|int | 连接池 | true | false |
配置参数别名
为了使用方便与容错, 配置项的键值具有别名机制, 建议尽量使用本名:
key | alias |
---|---|
method | 0 |
uri | 1 | url |
data | 2 | body |
base_uri | base_url |
after | callback |
content_type | content-type | contentType |
cookies | cookie |
headers | header |
redirect | follow |
useragent | ua | user-agent |
exception_report | error_report | report |
before_retry | retry |
referer | ref | referrer |