相关疑难解决方法(0)

处理Guzzle异常并获取HTTP正文

当服务器返回4xx和5xx状态代码时,我想处理Guzzle的错误.我提出这样的请求:

$client = $this->getGuzzleClient();
$request = $client->post($url, $headers, $value);
try {
    $response = $request->send();
    return $response->getBody();
} catch (\Exception $e) {
    // How can I get the response body?
}
Run Code Online (Sandbox Code Playgroud)

$e->getMessage返回代码信息,但不返回HTTP响应的主体.我如何获得响应机构?

php guzzle

103
推荐指数
8
解决办法
11万
查看次数

PHP Guzzle具有基本身份验证和承载令牌

我正在尝试与infojobs-api建立连接,文档探讨如何以这种方式创建它:

GET/api/1/application HTTP/1.1
主机:api.infojobs.net授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ ==,Bearer 07d18fac-77ea-461f-9bfe-a5e9d98deb3d

(https://developer.infojobs.net/documentation/user-oauth2/index.xhtml)

这是我的代码:

$basicauth = new Client(['base_uri' => 'https://api.infojobs.net']);

$credentials = base64_encode(CLIENT_ID .':' . CLIENT_SECRET ) ;

$newresponse = $basicauth->request(
  'GET',
  'api/1/curriculum',
  ['debug' => true], 
  ['auth' => 
    ['Basic', $credentials] ,
    ['Bearer', $acceso->access_token]
  ]
)->getBody()->getContents();

d($newresponse);
Run Code Online (Sandbox Code Playgroud)

API/Guzlle给我回复此错误:

致命错误:未捕获GuzzleHttp\Exception\ClientException:客户端错误:GET https://api.infojobs.net/api/1/curriculum导致401 No Autorizado响应:{"error":"102","error_description":"客户端凭据无效","timestamp":"2016-06-25T14:08 :54.774Z"} in /app/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:107

所以我做错了什么,但我找不到它的错误.

任何想法,谢谢.

奥斯卡

php guzzle6

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

php ×2

guzzle ×1

guzzle6 ×1