isoftware/http-client

HttpClient是HTTP协议的客户端类。

v0.9 2016-10-04 10:39 UTC

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();