Heim >Backend-Entwicklung >PHP-Tutorial >老鸟们,看看我的代码,为什么取不到URL里的内容?

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

WBOY
WBOYOriginal
2016-06-23 14:19:331177Durchsuche

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn