PHP code example of verdient / http
1. Go to this page and download the library: Download verdient/http library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
verdient / http example snippets
use Verdient\Http\Request;
$request = new Request();
$request->setUrl(string $url); //设置请求URL
$request->setMethod(string $method); //设置请求方法
$request->setHeaders([$name => $value, ...]); //设置请求头部
$request->setQueries([$name => $value, ...]); //设置查询参数
$request->setBodies([$name => $value, ...]); //设置消息体参数
$request->setProxy(string $address, ?int $port = null); //设置代理
$request->setTimeout(int $timeout); //设置超时时间
- addHeader(string $key, string|array $value)
- addQuery(string $name, string|array $value)
- addBody(string $name, mixed $value)
use Verdient\Http\Serializer\Body\JsonBodySerializer;
$request->setBodySerializer(new JsonBodySerializer);
use Verdient\Http\Serializer\Query\RFC1738Serializer;
$request->setQuerySerializer(new RFC1738Serializer);
$request->setContent(string $content);
$result = $request->send();
# 请求返回结果对象,可获取部分常用的数据
$result->getIsOK(): bool; //获取请求是否成功
$result->getRequest(): Request; //获取请求对象
$result->getErrorCode(): ?int // 获取错误码
$result->getErrorMessage(): ?string // 获取错误信息
$result->getStatusCode(): ?int // 获取HTTP状态码
$result->getHeaders(): ?array // 获取头部响应数据
$result->getBodies(): ?array // 获取HTTP消息体响应数据
# 可以通过getResponse获取响应对象,来实现更多的操作
$response = $result->getResponse(): Response; //获取响应对象
$response->getRawResponse(): string; //获取响应原文
$response->getRawStatus(): string; //获取状态行原文
$response->getRawHeaders(): string; //获取头部原文
$response->getRawContent(): ?string; //获取消息体原文
$response->getStatusCode(): int; //获取状态码
$response->getHeaders(): array; //获取解析后的头部
$response->getBodies(): mixed; //获取解析后的消息体参数
$response->getCookies(): array; //获取解析后的Cookie
$response->getContentType(): ?string; //获取消息体类型
$response->getCharset(): ?string; //获取字符集
$response->getStatusMessage(): string; //获取状态消息
$response->getHttpVersion(): string; //获取HTTP版本
$response->getRequest(): Request; //获取请求对象
use Verdient\Http\BatchRequest;
/**
* 请求对象的集合
* 集合内的元素必须是Request的实例
*/
$requests = [];
for($i = 0; $i < 100; $i++){
$request = new Request();
$request->setUrl($url);
$request->addQuery('id', $i);
$requests[] = $request;
}
/**
* 批大小,默认为100
*/
$batchSize = 100;
$batch = new BatchRequest($requests, $batchSize);
/**
* 返回内容为数组,keyValue对应关系与构造BatchRequest时传入的数组相同
* 遍历返回的结果,结果与Request调用send方法后返回的内容一致,使用方法也相同
*/
$result = $batch->send();