TrackBack 的实现原理 及 asp.net代码
来源:互联网 发布:软件测试工程师证书 编辑:程序博客网 时间:2024/05/20 05:53
作为所谓的Blog三大特征之一的Trackback Ping,在网络上并没有一个真正的规范,它实际上最早是在Moveable发明并开始运用的一种技术,与另外两项被广泛认为是Blog最主要特征的RSS和Permalink相比,RSS本质上是是一种遵循W3C RDF规范的XML格式,Permalink是一种非常通用的静态地址技术,而Trackback Ping目前为止仅仅是在blog程序中得到运用,除了Moveable的一份技术规范文档外,也没有什么权威的标准,尤其在国内,众多blog程序有的支持有的不支持,有的有限支持,甚至还有因标准不一致而不能互相通信的(参见《blog is dead(blog已死)》http://blog.igooi.com/archive/2005/10/28/6716.aspx)。
但是作为开发人员,我们不需要去讨论或者争论Trackback是不是死了、它会不会带来恶意Spam这些问题,就像垃圾邮件的存在,并不影响电子邮件的技术进步和使用一样。对于开发人员来讲,既然Trackback被认为是Blog的三大技术之一,而且blog程序的用户有这种需求,那我们在开发blog的时候,就应该包含这项技术。而且,我们应该尽可能地使我们开发的技术符合标准,或者规范,至少让它发挥作用。
Trackback Ping是由Moveable Type发明的规范,那么在没有更权威的标准之前,我们使用这项技术,当然应该以他们的规范为准,这里是他们的Trackback技术规范文档:http://www.movabletype.org/docs/mttrackback.html。
Trackback的完整实现至少包含两个方面,其一:客户端发送Trackback Ping;其二:服务器端接收和处理Trackback Ping,并向客户端返回处理结果。然后,根据需要我们可以考虑在客户端接收或者不接收,处理或者不处理返回的信息。下面是具体的代码:
/**//// 作 用:向指定的URL发送Trackback Ping,并根据服务器端返回的信息,提示用户处理情况。参数必须Server.URLEncode
///目标URL,也即所引用的blog所提供的引用地址
///我的Blog的URL
///我的blog站点名称
///当前这篇blog的标题
///当前这篇blog的摘要
/// 返回结果:字符串,以“|”分隔,第一部分为数字,0表示成功,1表示有错;第二部分是具体信息。
public static int Send(string RemoteUrl, string MyBlogURL, string MyBlogName, string MyBlogTitle, string MyBlogExcerpt)
...{
//’构造要发送的请求内容
try
...{
string strPostInfo = “title=” + MyBlogTitle;
strPostInfo += “&url=” + MyBlogURL;
strPostInfo += “&excerpt=” + MyBlogExcerpt;
strPostInfo += “&blog_name=” + MyBlogName;
byte[] strs = System.Text.Encoding.Default.GetBytes(strPostInfo);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(RemoteUrl);
myRequest.Method = “POST”;
myRequest.ContentType = “application/x-www-form-urlencoded”;
myRequest.ContentLength = strs.Length;
Stream newStream = myRequest.GetRequestStream();
// 发送数据
newStream.Write(strs, 0, strs.Length);
newStream.Close();
return 1;
}
catch (System.Exception es)
...{
return 0;
}
}
///目标URL,也即所引用的blog所提供的引用地址
///我的Blog的URL
///我的blog站点名称
///当前这篇blog的标题
///当前这篇blog的摘要
/// 返回结果:字符串,以“|”分隔,第一部分为数字,0表示成功,1表示有错;第二部分是具体信息。
public static int Send(string RemoteUrl, string MyBlogURL, string MyBlogName, string MyBlogTitle, string MyBlogExcerpt)
...{
//’构造要发送的请求内容
try
...{
string strPostInfo = “title=” + MyBlogTitle;
strPostInfo += “&url=” + MyBlogURL;
strPostInfo += “&excerpt=” + MyBlogExcerpt;
strPostInfo += “&blog_name=” + MyBlogName;
byte[] strs = System.Text.Encoding.Default.GetBytes(strPostInfo);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(RemoteUrl);
myRequest.Method = “POST”;
myRequest.ContentType = “application/x-www-form-urlencoded”;
myRequest.ContentLength = strs.Length;
Stream newStream = myRequest.GetRequestStream();
// 发送数据
newStream.Write(strs, 0, strs.Length);
newStream.Close();
return 1;
}
catch (System.Exception es)
...{
return 0;
}
}
- TrackBack 的实现原理 及 asp.net代码
- [摘]trackback的原理与实现
- ASP.net的地址重写(URLRewriter)实现原理及代码示例[转]
- asp.net的地址重写URLRewriter实现原理及代码示例
- Trackback的完整实现
- ASP.NET 大文件下载的实现思路及代码
- ASP.NET 大文件下载的实现思路及代码
- ASP.NET SESSION的使用及原理
- ASP.NET实现断点续传的原理
- Asp.NET 的Session实现原理
- Asp.NET 的Session实现原理
- .net Framework 和asp.net的运行原理及运行机制
- asp.net中水印的实现代码
- asp.net ajax 弹框及实现代码
- asp.net 汉字转换拼音及首字母实现代码
- ASP.NET做无刷新获取数据的思路及实现代码
- ASP.NET Web大文件下载的实现思路及代码
- autolayout的使用原理及代码实现
- 递归函数汇总(一)
- 如何获得U盘的详细信息
- 我对Pool与Cache两个词的理解
- 递归函数汇总(二)
- 常用的Struts 2.0的标志(Tag)介绍
- TrackBack 的实现原理 及 asp.net代码
- TrackBack是什么?如何使用TrackBack?
- 我的空间,大家请进.http://hi.baidu.com/bangzhusoft
- 说说Blog中的Trackback(引用)功能
- 如何实现自动Trackback
- .net中正则表达式的客户端验证--javascript
- 预设的启动界面修改文件/etc/inittab
- 什么是CSU/DSU?
- TrackBack技术规范