isoftware / http-client
HttpClient是HTTP协议的客户端类。
v0.9
2016-10-04 10:39 UTC
Requires
- php: >=5.2.0
This package is not auto-updated.
Last update: 2024-09-18 19:09:09 UTC
README
这是Incutio PHP HTTP客户端类的延续。它仍然是市面上最好的独立HTTP客户端类之一。我将使其功能更强大。
关于HTTP规范的各个方面,都允许POST、PUT和DELETE请求包含体内容,因此我们允许您在使用此客户端时发送体内容。
实例化
$client = new HttpClient('www.domain.com', 80);
第一个参数是域名,第二个参数是端口号。端口号是可选的,如果没有提供,则默认为80。
如果您想使用https:// URL进行实例化,将其添加到域名中
$client = new HttpClient('https://www.domain.com');
这将自动在连接时使用端口号443。
基本认证
如果您使用此库访问的API需要基本认证
$client->setAuthorization('username', 'password');
GET
$data可以是对象或数组。$headers应该是数组
$client->get('/service/endpoint', $data, $headers);
POST
$data可以是字符串、对象或数组。$headers应该是数组
$client->post('/service/endpoint', $data, $headers);
PUT
$data可以是字符串、对象或数组。$headers应该是数组
$client->put('/service/endpoint', $data, $headers);
DELETE
$data可以是字符串、对象或数组。$headers应该是数组
$client->put('/service/endpoint', $data, $headers)
头部信息
请求中的Content-Type不再默认设置。
如果没有设置Accept,则默认为
'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*'
头部信息应该是类似的东西
array('Accept'=>'application/json', 'Content-Type':'text/xml', 'etc')
$data和$headers在这些操作中都是可选的。
Referer
Incutio库曾将调用的最后一个项的Referer设置为调用。我很少发现这很有用,所以现在默认关闭。要重新打开
$this->client->setPersistReferers(true);
响应内容
获取最近URL调用返回的内容。
$client->getContent();
响应头部信息
您可以从最近的URL调用中获取状态或所有头部信息
$client->getStatus();
$client->getHeaders();