1
我尝试做以下卷曲要求:使卷曲要求给Google的OAuth API
$url = "https://www.googleapis.com/oauth2/v1/userinfo?access_token=$access_token";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if (!empty($headers)) curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_VERBOSE, true);
$resp = curl_exec($ch);
echo $resp; //prints 'Not found'
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo $httpCode; //prints '404'
curl_close($ch);
第一echo
打印“未找到”,第二次印刷“404”。不过,如果我做echo "$url?$params"
,并复制输出到浏览器的地址栏,页面将打开。不知道什么可以导致Not found
正确的网址。有人能告诉我我做错了什么吗?
预先感谢您!
UPD。这里的curl_getinfo()
转储:
array(20) { ["url"]=> string(45) "https://www.googleapis.com/oauth2/v1/userinfo"
["content_type"]=> string(24) "text/html; charset=UTF-8" ["http_code"]=> int(404)
["header_size"]=> int(360) ["request_size"]=> int(218) ["filetime"]=> int(-1)
["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=>
float(0.657275) ["namelookup_time"]=> float(0.00257) ["connect_time"]=> float(0.162467)
["pretransfer_time"]=> float(0.495426) ["size_upload"]=> float(0) ["size_download"]=>
float(9) ["speed_download"]=> float(13) ["speed_upload"]=> float(0)
["download_content_length"]=> float(0) ["upload_content_length"]=> float(0)
["starttransfer_time"]=> float(0.657247) ["redirect_time"]=> float(0) }
您确定您在代码中的$ url结尾处添加了一个问号吗? – Ignas
向我们展示来自curl_getinfo的所有信息。顺便说一下,在您的浏览器中使用GET,并在上面的代码中使用POST。 – Nin
@ Nin,谢谢你的回答。更新了问题。 '$ curl_post' if'false',我在做GET请求 – Eugeny89