【发布时间】:2015-04-27 19:57:06
【问题描述】:
我正在开发一个需要调用 API 以获取 json 响应的项目,但 Guzzle 客户端身份验证不起作用。它总是重定向到登录页面。 “nasa”是数据库。 这是我的代码:
<?php
require_once '../composer/vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client([
'base_url' => ['http://fedview.bfountain.com/{datasource}/', ['datasource' => 'nasa']]]);
$response = $client->get('service/sbapp/goalByAgency', ['auth' => ['username', 'password']]);
echo $response->getBody();
?>
我试过了:
$response = $client->get('login.do?uname=username&passcode=password');
可以登录成功。
谁能帮我解决这个问题? (我正在使用 Guzzle 5)THX!
【问题讨论】:
-
在 get 方法中提供身份验证凭据时,请尝试不使用“身份验证”密钥。例如:
$response = $client->get('service/sbapp/goalByAgency', ['username', 'password']); -
哦。等待。使用 login.do 网址有效吗?
-
这不是基本身份验证。首先使用
login.do?uname=username&passcode=password获取并发送,然后获取并发送service/sbapp/goalByAgency
标签: api authentication client authorization guzzle