ホームページ >バックエンド開発 >PHPチュートリアル >退役軍人の皆さん、私のコードを見てください。なぜ URL のコンテンツを取得できないのでしょうか?

退役軍人の皆さん、私のコードを見てください。なぜ URL のコンテンツを取得できないのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 14:19:331177ブラウズ

この投稿は guduxie によって最終編集されました: 2013-08-19 16:42:10

Curl file_get_contents

file_get_contents エラー:
警告: file_get_contents(http://api.ajaxsns.com/api.php?key=free&appid) = 0&msg=Who am I? ) [function.file-get-contents]: ストリームを開けませんでした: リダイレクト制限に達し、G:EasySiteServerHTMLmsg.php の 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;?>


対処法を教えてください

ディスカッションへの返信(解決策)

Wenwenが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 までご連絡ください。