热搜:NVER node 开发 php

老鸟们,看看我的代码,为什么取不到URL里的内容?

2024-09-21 18:05:02
老鸟们,看看我的代码,为什么取不到URL里的内容?

本帖最后由 guduxie 于 2013-08-19 16:42:10 编辑

Curl file_get_contents

file_get_contents报错:
Warning: file_get_contents(http://api.ajaxsns.com/api.php?key=free&appid=0&msg=我是谁?) [function.file-get-contents]: failed to open stream: Redirection limit reached, aborting in G:\EasySiteServer\HTML\msg.php on line 19

我用CURL,倒是不报错,但是取不来数据。

但是用浏览器是可以打开URL的

说的话:
<?php $kw = isset($_POST['Keyword']) ? filter_input(INPUT_POST,'Keyword',FILTER_SANITIZE_SPECIAL_CHARS) : isset($_GET['Keyword']) ? filter_input(INPUT_POST,'Keyword',FILTER_SANITIZE_SPECIAL_CHARS) : '';//这里是对表单POST过来Keyword值进行处理 $url = "http://api.ajaxsns.com/api.php?key=free&appid=0&msg=".$kw; //这里是API的url,已经包括关键词部分/* $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $MsgJson = curl_exec($ch); //这里取得上面URL的JSON型数据*/ ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727;)'); $MsgJson = file_get_contents($url); $MsgInfo = json_decode($MsgJson, true); $content = $MsgInfo['content']; //取得你想要的内容 echo addslashes($MsgJson); echo "
取得content结果:
".$content;?>


请大神看看,怎么才能处理


回复讨论(解决方案)

wen文问问ajaxsns吧

$ch = curl_init();curl_setopt($ch, CURLOPT_URL,'http://api.ajaxsns.com/api.php?key=free&appid=0&msg='.rawurlencode('我是谁').'?');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");//对方网站设置了cookiescurl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");//这2个选项是关键curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); $htmls = curl_exec($ch);curl_close($ch);echo $htmls;

我也抓不到  怎么回事啊 围观