youtube api json提要php错误
好的,所以我试图实现的是使用youtube api获取一些提要。提要是json-c编码的。因此,我尝试使用file_get_contents方法将json提要URL转换为字符串,并对其进行json解码。以下是代码片段:youtube api json提要php错误,php,api,youtube,json,Php,Api,Youtube,Json,好的,所以我试图实现的是使用youtube api获取一些提要。提要是json-c编码的。因此,我尝试使用file_get_contents方法将json提要URL转换为字符串,并对其进行json解码。以下是代码片段: $feedURL = "https://gdata.youtube.com/feeds/api/videos?q=surfing&v=2&alt=jsonc"; $json = file_get_contents($feedURL,0,null,null); $r
$feedURL = "https://gdata.youtube.com/feeds/api/videos?q=surfing&v=2&alt=jsonc";
$json = file_get_contents($feedURL,0,null,null);
$result = json_decode($json, true);
echo $result;
$id = $result->{'data'}->{'items'}[0]->{'id'};
echo "The video id is: ".$id;
但我得到了这个愚蠢的错误警告:文件获取内容(https://gdata.youtube.com/feeds/api/videos?q=surfing&v=2&alt=jsonc)[function.file get contents]:无法打开流:第13行/opt/lampp/htdocs/date.php中的连接被拒绝
注意:试图在第16行的/opt/lampp/htdocs/date.php中获取非对象的属性
注意:试图在第16行的/opt/lampp/htdocs/date.php中获取非对象的属性
注意:试图在第16行的/opt/lampp/htdocs/date.php中获取非对象的属性
该文件名为date.php,我正在代理服务器后面的linux机器上的localhost上运行它
我认为连接被拒绝的事情表明可能存在ip冲突或其他问题。我不知道。谁能帮我修一下吗 试试看:
$url = 'http://www';
$proxy = 'tcp://xxx:8080';
$context = array(
'http' => array(
'proxy' => $proxy,
'request_fulluri' => True,
),
);
$context = stream_context_create($context);
$body = file_get_contents($url, False, $context);
foreach($val形式的结果[“数据”][“项目]){
echo$val[“id”]。“
”;
}
似乎您正在关闭连接的代理服务器。对于通过包含文件内容的代理进行访问的问题,已经有了答案
您可以使用
curl
$feedURL = "https://gdata.youtube.com/feeds/api/videos?q=surfing&v=2&alt=jsonc";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $feedURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
//curl_setopt($ch,CURLOPT_PROXY,"x.x.x.x:8888"); // Proxy Use
$json = curl_exec($ch);
$result = json_decode($json, true);
foreach($result['data']['items'] as $items)
{
var_dump($items['id']);
}
请检查另一个URL,并验证代理是否正在关闭。我已经尝试过了。它给出了与任何其他url相同的错误,但是使用此方法可以在没有任何问题的情况下访问localhost上的文件检查此错误!所以我们需要在$proxy中指定代理ip地址和端口。很抱歉,我尝试了curl。它没有显示任何错误,但没有显示任何内容。不管怎样,我发现了问题所在,这确实是一个代理问题。谢谢大家的帮助。我真的很感谢您在这里添加您的代理
IP
和port
curl\u setopt($ch,CURLOPT\u proxy,“x.x.x.x:8888”)代码>
$feedURL = "https://gdata.youtube.com/feeds/api/videos?q=surfing&v=2&alt=jsonc";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $feedURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
//curl_setopt($ch,CURLOPT_PROXY,"x.x.x.x:8888"); // Proxy Use
$json = curl_exec($ch);
$result = json_decode($json, true);
foreach($result['data']['items'] as $items)
{
var_dump($items['id']);
}