从 Promise 或 Response Guzzle 6.0 获取请求信息
Get Request Information from Promise Or Response Guzzle 6.0
我想获取有关我已发送的请求的信息,例如 url、发送的正文等。我正在使用使用承诺的异步功能(下面的示例)
$client = new \GuzzleHttp\Client();
return new \GuzzleHttp\Psr7\Request\Request('POST', $this->getUrl(), $this->getHeaders(), $this->getBody());
有没有办法从承诺或响应中获取请求信息?
我问这个是因为我需要稍后在数据库中存储一些关于请求的信息,这在我发送请求之前是做不到的。
到目前为止我尝试的是
- 使用以下方法从承诺中获取信息
$promise->getRequest()
$pomise->Request
$promise->request
$promise->getHandlers()
谢谢
当您初始化一个新的 Request
时,您必须发送它。默认情况下不发送。当 Client
在其上调用 send
方法时发送请求。请求完成后,您可以访问有关响应的所有信息:
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Client;
$client = new Client();
$request = new Request('GET', 'https://www.google.com');
$response = $client->send($request);
$response->getHeaders(); // array of all retreived headers
$response->getStatusCode(); // http status code
$response->getReasonPhrase(); // http status phrase
并且您初始化了一个错误的 Request
对象,Guzzle 未附带 \GuzzleHttp\Psr7\Request\Request
但 \GuzzleHttp\Psr7\Request
。
现在有了正确的发送请求方式,获取请求信息就这么简单:
print_r($request->getHeaders()); // array of all sent headers
echo $request->getUri(); // requested URI
我想获取有关我已发送的请求的信息,例如 url、发送的正文等。我正在使用使用承诺的异步功能(下面的示例)
$client = new \GuzzleHttp\Client();
return new \GuzzleHttp\Psr7\Request\Request('POST', $this->getUrl(), $this->getHeaders(), $this->getBody());
有没有办法从承诺或响应中获取请求信息?
我问这个是因为我需要稍后在数据库中存储一些关于请求的信息,这在我发送请求之前是做不到的。
到目前为止我尝试的是
- 使用以下方法从承诺中获取信息
$promise->getRequest()
$pomise->Request
$promise->request
$promise->getHandlers()
谢谢
当您初始化一个新的 Request
时,您必须发送它。默认情况下不发送。当 Client
在其上调用 send
方法时发送请求。请求完成后,您可以访问有关响应的所有信息:
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Client;
$client = new Client();
$request = new Request('GET', 'https://www.google.com');
$response = $client->send($request);
$response->getHeaders(); // array of all retreived headers
$response->getStatusCode(); // http status code
$response->getReasonPhrase(); // http status phrase
并且您初始化了一个错误的 Request
对象,Guzzle 未附带 \GuzzleHttp\Psr7\Request\Request
但 \GuzzleHttp\Psr7\Request
。
现在有了正确的发送请求方式,获取请求信息就这么简单:
print_r($request->getHeaders()); // array of all sent headers
echo $request->getUri(); // requested URI