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
它们提供登录和安全隧道选项