首页  >  文章  >  后端开发  >  老鸟们,看看我的代码,为什么取不到URL里的内容?

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

WBOY
WBOY原创
2016-06-23 14:19:331158浏览

本帖最后由 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的

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><form action="msg.php" method="post">说的话:<input type="text" name="Keyword"></br><input type="submit" value="取来看看"></form><?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 "</br>取得content结果:</br>".$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;

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn