if ($tunnel = ssh2_tunnel($connection,'ipinfo.io', 80)){
$request = "GET / HTTP/1.0\r\n".
            "Host: ipinfo.io\r\n".
            "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0\r\n".
            "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n".
            "Accept-Language: en-US,en;q=0.5\r\n".
            "Accept-Encoding: gzip, deflate\r\n".
            "Connection: close\r\n\r\n";

fwrite($tunnel, $request);

$result = '';

while (!feof($tunnel)) {
    $result .= fgets($tunnel);
}

echo $result;}

通过上面的代码,我可以访问http://ipinfo.io并获取它的html内容。但是,对于https页面,我什么也得不到(例如:https://www.google.com)。如何获取https页面的html内容?

最佳答案

php中有一个特殊的ssh访问包,
你可以去参观
http://phpseclib.sourceforge.net/ssh/examples.html
它们提供登录和安全隧道选项

10-05 22:19