【发布时间】:2016-06-21 16:00:19
【问题描述】:
我正在尝试从 curl GET 请求中获取 JSON 响应,但无法使其正常工作。我已经尝试了几个例子,但没有得到任何回报。这就是我正在尝试的:
$Url = "http://app.whistle.com/api/dogs/132376/dailies/16955&X-Whistle-AuthToken=xxxxxxxxxxxxxxxxxxxxxxxx";
$ch = curl_init($Url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $result;
有人知道为什么这不起作用吗?
【问题讨论】:
-
它返回 401:未授权。我想您需要传递的身份验证方法还有更多内容。
-
你只是假设成功。在处理外部资源时永远不要假设成功。始终假设失败,检查失败,并将成功视为惊喜。
if ($result === false) { die(curl_error($ch)); }。如果 curl_exec 失败,它返回布尔值 false,它作为零长度的不可见字符串回显。 -
真的很奇怪,它出现在我的浏览器中。我设法从我手机上的 iOS 应用程序中使用 charles 代理获取令牌,但不知道为什么它曾允许此 url 显示在我的 mac 浏览器中,就像一开始一样(现在仍然如此)。显然,这给了我一个开始寻找的地方。谢谢。
-
您的问题得到解答了吗?如果是,您可以将其标记为已回答吗?