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 和其他东西。我怎样才能覆盖它?

我也尝试过 fread 和 fopen 等替代方法,但我想我只是不知道该怎么做。

任何人都可以帮助我吗?

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 回答