madnh / request
cURL包装器
1.3.0
2016-10-03 13:17 UTC
Requires
- php: >=5.3.0
- ext-curl: *
This package is not auto-updated.
Last update: 2024-09-28 19:36:39 UTC
README
A cURL包装器
配置
Request支持3种配置方式
- 全局配置
- 实例配置
- 请求配置
继承:全局配置 <- 实例配置 <- 请求配置
默认配置
- url: 请求的URL
- request_type: 请求方法,默认是 'GET'
- data: 请求数据,字符串或数组,默认是空字符串
- use_cookie: 使用cookie?默认是 true
- cookie: 请求的定制cookie,默认是 空数组
- cookie_send: cookie文件路径,在发送请求时使用
- cookie_save: cookie文件路径,在每次请求后存储cookie
- fail_on_error: 在出错时停止?默认是 true
- follow_location: 跟随任何重定向?默认是 true
- return_transfer: 返回响应而不是打印它,默认是 true
- header: 请求头,数组,默认是 空数组
- return_header: 返回响应头
- verifying_ssl: 默认是 false
- use_proxy: 默认是 false
- proxy: 代理信息
- is_http_proxy: 默认是 true
- referer: 默认是 true
- timeout: 请求超时,默认是 3600
- useragent: 请求的用户代理信息,默认是 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
全局配置
Request::globalConfig('cookie_send', __DIR__.'/cookie.txt'); Request::globalConfig('cookie_save', __DIR__.'/cookie.txt');
响应
-
request: 请求配置,数组
-
header: 响应头,字符串
-
response: 响应,字符串
-
error: False 或错误数组
- no: cURL的错误编号
- message: 错误信息
-
start: 请求开始时的UNIX时间戳
-
end: 请求完成时的UNIX时间戳
常量
- AUTH_MODE_BASIC
- AUTH_MODE_DIGEST
- AUTH_MODE_GSSNEGOTIATE
- AUTH_MODE_NTLM
- AUTH_MODE_ANY
- AUTH_MODE_ANYSAFE
如何使用
- 如果需要,设置全局配置
- 创建新实例,如果需要配置
- 设置实例配置
- 发出请求,请求可能包含配置
配置方法
- globalConfig(config_name: 字符串或配置数组,[value = null])
- getGlobalConfig()
- getConfig(): 导出配置
请求方法
- request(config)
- get(url, [data, [config])
- post(url, [data, [config])
- put(url, [data, [config])
- delete(url, [data, [config])
其他方法
- setHeader(headers), 设置请求头,返回实例
- addHeader(name, value): 添加请求头,返回实例
- setCookie(cookies), 设置请求cookie,返回实例
- addCookie(name, value), 设置请求cookie值,返回实例
- setData(data): 设置请求数据,返回实例
- addData(name, value): 添加请求数据,返回实例
- rawConfig(CURL Options实例, value), 设置配置,返回实例
- setBasicAuthentication(username, password), 设置基本认证信息,返回实例
- setHttpAuthMode(mode): 设置认证模式。返回实例。支持
- AUTH_MODE_BASIC
- AUTH_MODE_DIGEST
- AUTH_MODE_GSSNEGOTIATE
- AUTH_MODE_NTLM
- AUTH_MODE_ANY
- AUTH_MODE_ANYSAFE
示例
创建新实例
$obj = new Request(array( 'timeout' => 10 )); $result = $obj->request(array( 'url' => 'https://w3schools.org.cn/' )); print_r($result);
发出另一个请求
$result = Request::url($_SERVER['HTTP_HOST'] . '/test/target.php') ->addData('name', 'Tom') ->addData('old', 16) ->setCookie(array( 'is_admin' => true )) ->ajaxRequest() ->post();