walker / incutio-php-http-client
HttpClient 是 HTTP 协议的客户端类。
dev-main
2020-05-26 14:18 UTC
Requires
- php: >=5.2.0
This package is not auto-updated.
Last update: 2024-09-15 00:45:17 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();