详细的 PHP 代码请查看来自梦溪博客的文章。
使用方法非常简单,只需要一个可访问到 ghs.google.com 的支持 PHP、开启 rewrite 和 fopen 功能的任意服务器。(几乎各种免费 PHP 空间、GoDaddy 赠送的 Linux 空间等都可以支持)
随后,只需把你在 Google 服务中绑定的域名指向你的这个服务器 IP,把梦溪博客上提供的代码保存为 index.php,并如文章所述,编辑一个 .htaccess 文档,同置于根目录下即可。
如此一来,访问这个主机将实现从 Google 获取转发数据,实现网页浏览。此转发页面支持 Blogger、appspot 等服务的域名绑定。
为梦溪博客鼓掌吧。
最后,附上完整代码。
index.php 文件:
<?php
//header不完整,强制为HTTP 1.0
//取得所有http header
if (!function_exists('getallheaders'))
{
function getallheaders()
{
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
if (isset($_SERVER['PHP_AUTH_DIGEST'])) {
$headers['AUTHORIZATION'] = $_SERVER['PHP_AUTH_DIGEST'];
} elseif (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
$headers['AUTHORIZATION'] = base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $_SERVER['PHP_AUTH_PW']);
}
if (isset($_SERVER['CONTENT_LENGTH'])) {
$headers['CONTENT-LENGTH'] = $_SERVER['CONTENT_LENGTH'];
}
if (isset($_SERVER['CONTENT_TYPE'])) {
$headers['CONTENT-TYPE'] = $_SERVER['CONTENT_TYPE'];
}
return $headers;
}
}
class http{
function http_fopen($conn_host,$conn_port = "80"){
$fp = fsockopen($conn_host,$conn_port);
if(!$fp){
return false;
}
return $fp;
}
//得到查询内容
function http_fget($fp){
//向服务器发送header
$fp = $this->sendHeaders($fp);
//向客户端发送header
while(!feof($fp))
{
$content = fgets($fp);
if(trim($content) == "")
{
break;
}
}
//显示网页内容
while(!feof($fp))
{
echo fgets($fp,128);
}
}
//发送头部信息
function sendHeaders($fp)
{
$theREQUEST_METHOD = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD']:'GET';
$http_host = $_SERVER['HTTP_HOST'];
$theREQUEST = 'http://'.$http_host.$_SERVER['REQUEST_URI'];
$theSERVER_PROTOCOL = 'HTTP/1.0';
$firstHeader = $theREQUEST_METHOD." ".$theREQUEST." ".$theSERVER_PROTOCOL."\n";
fputs($fp,$firstHeader);
fputs($fp,"Host: $http_host\n");
fputs($fp,"User-agent: ".$_SERVER['HTTP_USER_AGENT']."\n");
if(strtolower($theREQUEST_METHOD)=='post')
{
$line = file_get_contents("php://input");
fputs($fp,$line);
}
fputs($fp,"\n");
return $fp;
}
function http_fclose($fp)
{
fclose($fp);
}
}
$thehost = "ghs.google.com";
$http = new http;
$fp = $http->http_fopen($thehost);
if(!$fp)
{
echo "Could not connect!";
exit;
}
//得到返回的结果
$http->http_fget($fp);
$http->http_fclose($fp);
exit();
?>
.htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /index.php [L]
你现在的绑定方法就是这样的吗?
回复删除可惜我的godaddy里的免费空间就是有广告。。你也是如此吧!
回复删除@植树: 是这样的,用的是Godaddy的免费主机。
回复删除@1mojim: Blogger页面只是用于普通浏览,这样来说这个PHP脚本已经够用了,有广告的话应该不会有太大影响。
想做一个Blogger.com中文用户列表,有没有兴趣参加,希望通过这个方式能让更多的Blogger相互了解
回复删除http://blog.kban.info/p/blogger.html
@OceanBan:谢谢你的邀请!希望能互相交流!
回复删除@马晨:你的这个方法可以再详细点,我还是有点不是太懂,把那个index.php放入根目录,修改.htaccess 文件,地址指向服务器 IP就完了?
回复删除介意把你的index.php和.htaccess 文件发给我么,还有什么配置也发给我我研究下,以作备用,[email protected]
广告好大个啊
回复删除@Roy: 没有办法,免费服务嘛 -_-
回复删除现在就动工....get one..
回复删除广告太大了
回复删除非常影响美观
www.hexilou.com
我用的ghs代理服务挂掉了。
回复删除用我的吧,只提供几个用户,http://www.jmj.hk
回复删除感谢。现成品。http://115599.ampsites.com只支持浏览。不支持post,html
回复删除