我们过去曾使用过这段代码,我把一个非常有效的例子放在一起,脚本会得到一些json数据并通过wordpress模板呈现。现在它没有正确返回数据,或者此处的Feed出现问题:http://www.testdomain.com/website
<?php
$url = "http://testdomain.com/website/";
$ch = curl_init($url);
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Contet-type: application/json'),
);
curl_setopt_array($ch, $options);
$json = curl_exec($ch);
$obj = json_decode($json);
?>
感谢任何帮助。
答案 0 :(得分:3)
您必须将www添加到您的网址,然后再次运行!
$url = "http://www.testdomain.com/website/";
在空白页面上尝试这样:
$url = "http://www.testdomain.com/website/";
$ch = curl_init($url);
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Contet-type: application/json'),
);
curl_setopt_array($ch, $options);
$json = curl_exec($ch);
$obj = json_decode($json);
var_dump($obj); //<<<< just to see the output
答案 1 :(得分:1)
答案 2 :(得分:1)
请使用 的error_reporting(E_ALL);
无论如何,这似乎有效
<?php
error_reporting(E_ALL);
$obj=json_decode(file_get_contents("http://example.com/website/"));
var_dump($obj);
(虽然,这种方法有一些上升和一些下降,但如果allow_url_fopen为0则它不会起作用,它也可能比卷曲慢,因为它没有#&#'s&#39; 39; t给出一个关于content-length:标题的东西,它等待连接关闭,我认为..在正面,即使没有安装php5-curl也能正常工作)
答案 3 :(得分:1)
感谢@ michael的回答,我明白了。 似乎http://testdomain.com/website/重定向到http://www.testdomain.com/website/ ,默认情况下,curl不遵循重定向,添加
CURLOPT_FOLLOWLOCATION=>true
像
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Contet-type: application/json'),
CURLOPT_FOLLOWLOCATION=>true
);
旁注,似乎是Contet-type:application / json header没什么区别..