下面是某个网站的blog的地址。
http://blog.goo.ne.jp/pengliang/e/e186522ede8c3a71626dc565179141df
最下面是他的
Trackback Ping-URL
http://blog.goo.ne.jp/tbinterface/e186522ede8c3a71626dc565179141df/31我试着用程序加一条trackback过去,但是怎么做都是失败的。
import java.net.*;
import java.io.*;class TestTrackback
{
public static void main(String args[])
{
String title = "test1";
//String selfurl = "http://www.pengliang.com/index1.jsp?blogRecordKey=13jkl24dsa";
String selfurl = "http://blog.goo.ne.jp/themesalon/e/f30e8c9c0503999c4e9f81dd72f54960";
String blog_name = "NB blog";
String excerpt = "very NB";
String trackbackUrl = "http://blog.goo.ne.jp/tbinterface/e186522ede8c3a71626dc565179141df/31";
String connectStr = "?";
try {
URL urlTarget = new URL( trackbackUrl + connectStr + getEncodedParamStr(title, selfurl, blog_name, excerpt) );
System.out.println(trackbackUrl + connectStr + getEncodedParamStr(title, selfurl, blog_name, excerpt));
URLConnection connUrl = urlTarget.openConnection();
connUrl.setRequestProperty( "Host", "pengliang" );
connUrl.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded; charset=\"utf-8\"" );
connUrl.setRequestProperty( "User-Agent", "EBICE BLOG SYSTEM" );
connUrl.setRequestProperty( "Accept-Language", "ja" );
InputStream in = connUrl.getInputStream();
byte[] b = new byte[1024];
int len;
String out = "";
while ( (len = in.read(b)) != -1 ) {
out += new String( b, 0, len);
}
System.out.println( out );
in.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
private static String getEncodedParamStr(String title, String selfurl,
String blog_name, String excerpt) throws Exception {
String charsetUTF8 = "UTF-8";
String encodeChar = URLEncoder.encode( "/", charsetUTF8 );
String strPercent = "%";
String ipAddress = "127.0.0.1";
String encodedTitle = URLEncoder.encode( title, charsetUTF8 );
String encodedExcerpt = URLEncoder.encode( excerpt, charsetUTF8 );
String encodedUrl = URLEncoder.encode( selfurl, charsetUTF8 );
String encodedBlogName = URLEncoder.encode( blog_name, charsetUTF8 );
String encodedIPAddress = URLEncoder.encode( ipAddress, charsetUTF8 );*/
StringBuffer buffer = new StringBuffer( "url=" + selfurl + "&" );
buffer.append( "title=" + encodedTitle + "&" );
buffer.append( "excerpt=" + encodedExcerpt + "&" );
buffer.append( "blogName=" + encodedBlogName + "&" );
buffer.append( "ipAddress=" + encodedIPAddress ); }
}
后来我试了一下直接用form提交的方法也失败了。
<FORM METHOD="POST" ACTION="http://blog.goo.ne.jp/tbinterface/e186522ede8c3a71626dc565179141df/31" enctype ="application/x-www-form-urlencoded; charset=utf-8" target="_blank">
<INPUT NAME="title" VALUE="testtrackback" TYPE="hidden">
<INPUT NAME="url" VALUE="http://www.pengliang.com/index1.jsp?blogRecordKey=13jkl24dsa" TYPE="hidden">
<INPUT NAME="blog_name" VALUE="NB blog" TYPE="hidden">
<INPUT NAME="excerpt" VALUE="very NB very NB very NB" TYPE="hidden">
<INPUT TYPE="submit" VALUE="Send Trackback Ping" >
</FORM> 请问哪里错了?
成功的话,应该能在
http://blog.goo.ne.jp/pengliang/e/e186522ede8c3a71626dc565179141df
页面里的
Trackback ( 0 ) 变成不是0
http://blog.goo.ne.jp/pengliang/e/e186522ede8c3a71626dc565179141df
最下面是他的
Trackback Ping-URL
http://blog.goo.ne.jp/tbinterface/e186522ede8c3a71626dc565179141df/31我试着用程序加一条trackback过去,但是怎么做都是失败的。
import java.net.*;
import java.io.*;class TestTrackback
{
public static void main(String args[])
{
String title = "test1";
//String selfurl = "http://www.pengliang.com/index1.jsp?blogRecordKey=13jkl24dsa";
String selfurl = "http://blog.goo.ne.jp/themesalon/e/f30e8c9c0503999c4e9f81dd72f54960";
String blog_name = "NB blog";
String excerpt = "very NB";
String trackbackUrl = "http://blog.goo.ne.jp/tbinterface/e186522ede8c3a71626dc565179141df/31";
String connectStr = "?";
try {
URL urlTarget = new URL( trackbackUrl + connectStr + getEncodedParamStr(title, selfurl, blog_name, excerpt) );
System.out.println(trackbackUrl + connectStr + getEncodedParamStr(title, selfurl, blog_name, excerpt));
URLConnection connUrl = urlTarget.openConnection();
connUrl.setRequestProperty( "Host", "pengliang" );
connUrl.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded; charset=\"utf-8\"" );
connUrl.setRequestProperty( "User-Agent", "EBICE BLOG SYSTEM" );
connUrl.setRequestProperty( "Accept-Language", "ja" );
InputStream in = connUrl.getInputStream();
byte[] b = new byte[1024];
int len;
String out = "";
while ( (len = in.read(b)) != -1 ) {
out += new String( b, 0, len);
}
System.out.println( out );
in.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
private static String getEncodedParamStr(String title, String selfurl,
String blog_name, String excerpt) throws Exception {
String charsetUTF8 = "UTF-8";
String encodeChar = URLEncoder.encode( "/", charsetUTF8 );
String strPercent = "%";
String ipAddress = "127.0.0.1";
String encodedTitle = URLEncoder.encode( title, charsetUTF8 );
String encodedExcerpt = URLEncoder.encode( excerpt, charsetUTF8 );
String encodedUrl = URLEncoder.encode( selfurl, charsetUTF8 );
String encodedBlogName = URLEncoder.encode( blog_name, charsetUTF8 );
String encodedIPAddress = URLEncoder.encode( ipAddress, charsetUTF8 );*/
StringBuffer buffer = new StringBuffer( "url=" + selfurl + "&" );
buffer.append( "title=" + encodedTitle + "&" );
buffer.append( "excerpt=" + encodedExcerpt + "&" );
buffer.append( "blogName=" + encodedBlogName + "&" );
buffer.append( "ipAddress=" + encodedIPAddress ); }
}
后来我试了一下直接用form提交的方法也失败了。
<FORM METHOD="POST" ACTION="http://blog.goo.ne.jp/tbinterface/e186522ede8c3a71626dc565179141df/31" enctype ="application/x-www-form-urlencoded; charset=utf-8" target="_blank">
<INPUT NAME="title" VALUE="testtrackback" TYPE="hidden">
<INPUT NAME="url" VALUE="http://www.pengliang.com/index1.jsp?blogRecordKey=13jkl24dsa" TYPE="hidden">
<INPUT NAME="blog_name" VALUE="NB blog" TYPE="hidden">
<INPUT NAME="excerpt" VALUE="very NB very NB very NB" TYPE="hidden">
<INPUT TYPE="submit" VALUE="Send Trackback Ping" >
</FORM> 请问哪里错了?
成功的话,应该能在
http://blog.goo.ne.jp/pengliang/e/e186522ede8c3a71626dc565179141df
页面里的
Trackback ( 0 ) 变成不是0
一定要url是可以用的,才能trackback上。