通过ssl连接到google.com

时间:2013-12-12 11:06:33

标签: php ssl

我正在使用此代码

$sock = fsockopen("ssl://google.com", 443, $errno, $errstr, 30); 
if (!$sock) die("$errstr ($errno)\n"); 
fputs($sock, "GET / HTTP/1.0\r\n"); 
fputs($sock, "Host: google.com\r\n"); 
fputs($sock, "\r\n"); 
$headers = ""; 
while ($str = trim(fgets($sock, 4096))) 
$headers .= "$str\n"; 
$body = ""; 
while (!feof($sock)) 
$body.= fgets($sock, 4096); 
fclose($sock); 
echo '<div>'.$headers.'</div>'; 
echo '<div>'.$body.'<div>'; 

我收到了这个页面:

  

HTTP / 1.0 301永久移动位置:https://www.google.com/   内容类型:text / html; charset = UTF-8日期:星期四,2013年12月12日11:03:07   GMT到期日:2014年1月11日星期六11:03:07 GMT Cache-Control:public,   max-age = 2592000服务器:gws内容长度:220 X-XSS-Protection:1;   mode = block X-Frame-Options:SAMEORIGIN Alternate-Protocol:443:quic   301已移动

     

该文件已移至此处。

我哪里出错了?为什么我需要使用ssl?我可以写https吗?如果我写https然后我将收到错误。

1 个答案:

答案 0 :(得分:0)

您正尝试通过根域&#34; google.com&#34;访问该网站。服务器正在尝试将您重定向到实际包含该网站的子域:&#34; www.google.com。添加&#34; www。&#34;子域名前缀,您将不再获得301重定向。