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

WBOY
Freigeben: 2016-06-23 14:19:33
Original
1156 Leute haben es durchsucht

本帖最后由 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;?>
Nach dem Login kopieren


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


回复讨论(解决方案)

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;
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage