我在这个网站上阅读了20多个相关问题,在谷歌搜索但没有用.我是
PHP的新手,我正在使用
PHP Simple HTML DOM Parser来获取URL.虽然此脚本适用于本地测试页,但它不适用于我需要脚本的URL.
以下是我为此编写的代码,遵循PHP Simple DOM解析器库附带的示例文件:
<?PHP include('simple_html_dom.PHP'); $html = file_get_html('http://www.farmersagent.com/Results.aspx?isa=1&name=A&csz=AL'); foreach($html->find('li.name ul#generalListing') as $e) echo $e->plaintext; ?>
这是我得到的错误消息:
Warning: file_get_contents(http://www.farmersagent.com/Results.aspx?isa=1&name=A&csz=AL) [function.file-get-contents]: Failed to open stream: Redirection limit reached,aborting in /home/content/html/website.in/test/simple_html_dom.PHP on line 70
请指导我应该做些什么来使它工作.我是新人,所以请提出一个简单的方法.在阅读本网站上的其他问题及其答案时,我尝试使用cURL方法创建句柄,但是我没能使它工作.我尝试的cURL方法不断返回“资源”或“对象”.我不知道如何将它传递给Simple HTML DOM Parser以使$html-> find()正常工作.
请帮忙!
谢谢!
今天有类似的问题.我使用CURL并没有返回任何错误.用file_get_contents()测试,我得到了……
无法打开流:已达到重定向限制,正在中止
function getPage ($url) { $useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/44.0.2403.89 Safari/537.36'; $timeout= 120; $dir = dirname(__FILE__); $cookie_file = $dir . '/cookies/' . md5($_SERVER['REMOTE_ADDR']) . '.txt'; $ch = curl_init($url); curl_setopt($ch,CURLOPT_FAILONERROR,true); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file); curl_setopt($ch,CURLOPT_COOKIEJAR,CURLOPT_FOLLOWLOCATION,true ); curl_setopt($ch,CURLOPT_ENCODING,"" ); curl_setopt($ch,CURLOPT_RETURNTRANSFER,CURLOPT_AUTOREFERER,CURLOPT_CONNECTTIMEOUT,$timeout ); curl_setopt($ch,CURLOPT_TIMEOUT,CURLOPT_MAXREDIRS,10 ); curl_setopt($ch,CURLOPT_USERAGENT,$useragent); curl_setopt($ch,CURLOPT_REFERER,'http://www.google.com/'); $content = curl_exec($ch); if(curl_errno($ch)) { echo 'error:' . curl_error($ch); } else { return $content; } curl_close($ch); }
该网站正在检查有效的用户代理和cookie.
cookie问题导致了它!