08-07
04
Java实现TrackBack BLOG技术
作者:Java伴侣 日期:2008-07-04
Trackback这个博客重要技术之一,个人觉得是一个很好创意技术,把相关主题的日志文章自然而然的联系在一起了,同时尊重作者创作劳动果实。
那Trackback有什么作用呢?
1、保存自己的文字。如果你朋友的blog上写评论,会有找不到的可能,但是如果你写的是TrackBack,就可以在你自己的blog上保存这些字,不至于丢失。
2、修改你的评论。你不能修改发表在别人blog上的评论,但可以修改TrackBack,甚至删除。
3、创建了一个TrackBack其实就是创建了一个你感兴趣的文章的联接。
那如何实现呢?以下为本人用JAVA封装好Trackback ping程序,分享关注者。
使用例子:
那Trackback有什么作用呢?
1、保存自己的文字。如果你朋友的blog上写评论,会有找不到的可能,但是如果你写的是TrackBack,就可以在你自己的blog上保存这些字,不至于丢失。
2、修改你的评论。你不能修改发表在别人blog上的评论,但可以修改TrackBack,甚至删除。
3、创建了一个TrackBack其实就是创建了一个你感兴趣的文章的联接。
那如何实现呢?以下为本人用JAVA封装好Trackback ping程序,分享关注者。
复制内容到剪贴板 程序代码
package tools;
import java.io.*;
import java.net.*;
public class TrackbackPing
{
/****************************************************************************
*@作者:王春平
*@功能:实现Trackback ping 功能
*@参数说明:pingUrl目标PING地址,title日志标题,myBlogUrl博客地址,myExcerpt摘要,blogName博客名称
*@时间:2007年7月11号
*@邮箱:wangchunping209@163.com
***************************************************************************/
public String isTrackbackPingOk(String pingUrl,String title,String myBlogUrl,String myExcerpt,
String blogName)
{
String catch1="";
String catch2="";
int catchp1=0;
int catchp2=0;
String errorStr="";
try
{
//以POST方式发送PING及参数***********************************************************
String postStr="title="+title+"&url="+myBlogUrl+"&excerpt="+myExcerpt+"&";
postStr+="blog_name="+blogName+"";
URL trackbackUrl=new URL(pingUrl);
HttpURLConnection pingHuc=(HttpURLConnection)trackbackUrl.openConnection();
pingHuc.setDoOutput(true);
OutputStreamWriter out=new OutputStreamWriter(pingHuc.getOutputStream(),"gb2312");
out.write(postStr);
out.flush();
out.close();
//发送结束**************************************************************************
//发送之后读取返回页面数据,0表示PING成功,1表示失败***************************************
BufferedReader readData=new BufferedReader(new InputStreamReader(pingHuc.getInputStream()));
String pageLine=readData.readLine();
while(pageLine!=null)
{
catchp1=pageLine.indexOf(catch1);
catchp2=pageLine.indexOf(catch2);
if(catchp1!=-1)
{
if(catchp2>0)
{
errorStr=pageLine.substring(catchp1+7,catchp2);
}
else
{
errorStr=pageLine.substring(catchp1+7);
}
}
pageLine=readData.readLine();
}
readData.close();
pingHuc.disconnect();
//读取结束**************************************************************************
}
catch(Exception e)
{
System.out.println(e.toString());
}
return errorStr;
}
import java.io.*;
import java.net.*;
public class TrackbackPing
{
/****************************************************************************
*@作者:王春平
*@功能:实现Trackback ping 功能
*@参数说明:pingUrl目标PING地址,title日志标题,myBlogUrl博客地址,myExcerpt摘要,blogName博客名称
*@时间:2007年7月11号
*@邮箱:wangchunping209@163.com
***************************************************************************/
public String isTrackbackPingOk(String pingUrl,String title,String myBlogUrl,String myExcerpt,
String blogName)
{
String catch1="";
String catch2="";
int catchp1=0;
int catchp2=0;
String errorStr="";
try
{
//以POST方式发送PING及参数***********************************************************
String postStr="title="+title+"&url="+myBlogUrl+"&excerpt="+myExcerpt+"&";
postStr+="blog_name="+blogName+"";
URL trackbackUrl=new URL(pingUrl);
HttpURLConnection pingHuc=(HttpURLConnection)trackbackUrl.openConnection();
pingHuc.setDoOutput(true);
OutputStreamWriter out=new OutputStreamWriter(pingHuc.getOutputStream(),"gb2312");
out.write(postStr);
out.flush();
out.close();
//发送结束**************************************************************************
//发送之后读取返回页面数据,0表示PING成功,1表示失败***************************************
BufferedReader readData=new BufferedReader(new InputStreamReader(pingHuc.getInputStream()));
String pageLine=readData.readLine();
while(pageLine!=null)
{
catchp1=pageLine.indexOf(catch1);
catchp2=pageLine.indexOf(catch2);
if(catchp1!=-1)
{
if(catchp2>0)
{
errorStr=pageLine.substring(catchp1+7,catchp2);
}
else
{
errorStr=pageLine.substring(catchp1+7);
}
}
pageLine=readData.readLine();
}
readData.close();
pingHuc.disconnect();
//读取结束**************************************************************************
}
catch(Exception e)
{
System.out.println(e.toString());
}
return errorStr;
}
使用例子:
复制内容到剪贴板 程序代码
if(!(trackback.equals(""))||trackback!=null)
{
String myBlogUrl="http://wangchunping.blogcn.com";
String blogName="王春平的博客";
String isPingOk=tbp.isTrackbackPingOk(trackback, title, myBlogUrl, summary, blogName);
{
String myBlogUrl="http://wangchunping.blogcn.com";
String blogName="王春平的博客";
String isPingOk=tbp.isTrackbackPingOk(trackback, title, myBlogUrl, summary, blogName);
评论: 0 | 引用: 0 | 查看次数: 867
发表评论