22

URLの内容を文字列に入れて処理したい。しかし、私には問題があります。

このエラーが発生します:

Warning: file_get_contents(http://www.findchips.com/avail?part=74ls244) [function.file-get-contents]: failed to open stream: Redirection limit reached,

これは、ページ保護とヘッダー、Cookieなどが原因であると聞いています。どうすればオーバーライドできますか?

fopenと一緒にfreadなどの代替手段も試しましたが、これを行う方法がわからないと思います。

誰か助けてくれませんか?

4

3 に答える 3

35

元の回答はこのトピックに移動しました 。

于 2013-03-29T15:57:35.030 に答える
15

cURL、_

あなたがそれを持っているかどうかを確認してくださいphpinfo();

コードについては次のとおりです。

function getHtml($url, $post = null) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    if(!empty($post)) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    } 
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
于 2012-07-06T13:30:25.630 に答える
3

代わりにcURLを使用してみてください。cURL は Cookie jar を実装しますが、file_get_contents は実装しません。

于 2012-07-06T13:28:09.443 に答える