1

使用 Symfony Http 客户端,我创建了一个这样的 HTTP 请求:

 $client = HttpClient::create();

 $response = $client->request('GET', 'www.mypage.com', [
 'auth_basic' => ['user', '123'],
 ]);

 dump($response);

输出是:

Symfony\Component\HttpClient\Response\CurlResponse {#1117 ▼
  response_headers: []
  http_code: 0
  error: null
  url: www.something.com
  ....

现在我尝试输出该url响应:

 dump($response->getContent());

但输出是null.

如何获得 url 作为输出www.something.com

4

1 回答 1

2

所有的HttpClient响应都实现了ResponseInterfaceSymfony 合约中定义的 , 。

该接口声明了一个方法,如此getInfo()所示。

该方法返回一个数组,响应的有效 URL 存储在urlkey 中。

$finalUrl = $response->getInfo()['url'];

并不是说如果请求经过一个或多个 HTTP 重定向,最终解析的 URL 可能与最初请求的 URL 不同。

于 2021-03-11T11:52:31.373 回答