【发布时间】:2016-11-19 02:45:43
【问题描述】:
我有一个简单的 GET 请求,我正在尝试发出并返回结果。我已经在没有任何标题或正文的 Postman 中尝试过它,它工作得很好。我什至把它放在我的浏览器中,它返回了一个很好的结果。但是,当我在 PHP 中执行此操作时,我什么也得不到。这就是我的代码的样子。我做错了什么?
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,'http://********/vizportal/api/web/v1/auth/kerberosLogin');
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, 0);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, '20');
$resp = curl_exec($curl);
echo $resp;
【问题讨论】:
-
你只是假设没有失败。 curl_exec 在失败时返回布尔值 false,这将作为零长度字符串回显。试试
if ($resp === false) { die(curl_error($curl)); } -
我得到了一个空无的回声,我期待一个简单的 JSON 响应。
-
尝试在末尾添加
var_dump(curl_error($curl));,看看是否有任何收获。另外,你为什么将超时作为字符串传递? -
我从转储中得到“string(0)”“”。我已经尝试过将超时作为一个数字,但这也不起作用(我看到将它作为一个字符串放在网上的某个地方,这对我来说也没有意义)