我试图做一个curl php get请求在页面上显示一些json数据。
我在这里遇到的问题是我一直遇到504网关超时。
所以我跳到第二双眼睛看我的代码,以确保我没有做任何愚蠢或遗失的事情。
// get request
$ch = curl_init('http://*****');
$token = '****';
// Return Data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
//User Agent
curl_setopt($ch, CURLOPT_USERAGENT, 'Fiddler');
//Set your auth headers
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Host: ****:8090',
'Content-Type: application/json',
'Authorization: Bearer '.$token
));
$data = curl_exec($ch);
$info = curl_getinfo($ch);
// print details of request on page
echo 'info:' . $info ;
// close curl resource to free up system resources
curl_close($ch);
答案 0 :(得分:1)
问题是主机的防火墙阻止了对某些端口的请求,我不得不让它们解锁端口以使其工作。
答案 1 :(得分:0)
标头中有错误,主机必须只包含主机名Host: *****:8090
。
必须像这样:Host: google.com
。
必须使用curl_setopt ()
指定端口,如下所示:
curl_setopt($ch, CURLOPT_PORT, 8090);