如何绕过目标机器拒绝外部网站上的连接 - PHP file_get_contents

时间:2014-10-29 18:25:17

标签: php file-get-contents

<?php
$f = file_get_contents("http://www.example.com");
echo htmlspecialchars($f);
?>

将输出

<!doctype html> <html> <head> <title>Example Domain</title> <meta charset="utf-8" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style type="text/css"> body { background-color: #f0f0f2; margin: 0; padding: 0; font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; } div { width: 600px; margin: 5em auto; padding: 50px; background-color: #fff; border-radius: 1em; } a:link, a:visited { color: #38488f; text-decoration: none; } @media (max-width: 700px) { body { background-color: #fff; } div { width: auto; margin: 0 auto; border-radius: 0; padding: 1em; } } </style> </head> <body> <div> <h1>Example Domain</h1> <p>This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission.</p> <p><a href="http://www.iana.org/domains/example">More information...</a></p> </div> </body> </html> 

然而,如果我尝试做类似的事情:

<?php
$f = file_get_contents("http://www.yahoo.com");
echo htmlspecialchars($f);
?>

我将收到错误

  

警告:file_get_contents(http://www.yahoo.com):无法打开   stream:因为目标机器无法建立连接   积极拒绝它。在第12行的C:\ wamp \ www \ popup.php

无论如何都可以解决这个问题?我想在雅虎页面中获取某些html元素,但我正在努力以这种方式打开任何雅虎页面

1 个答案:

答案 0 :(得分:0)

这适用于我的机器:

$page = fopen( "http://www.yahoo.com", "r" );
while ( ! feof( $page ))
print fgets( $page, 1024 );
fclose( $page );