paip.百度空间 JAVA程序发文总结
GP百度空间不支持客户端,只好自己开发了。。
使用HTTPCLIENT,COOKIE超长,先把它保存在文件里,然后读取。。自动断行,需要
REPLACE掉换行..不然报400错..
发文-------------------
POST /pub/submit/createtext HTTP/1.1
示例
http://hi.baidu.com/pub/submit/createtext?
title=title24&content=txt24&private=0&imgnum=0&bdstoken=3a6bd382df05333ef96
3838cfa28f0d7&qbid=&refer=http:%2F%2Fhi.baidu.com
%2Fhome&private1=0&qing_request_source=
返回JSON
{"errorNo" : "501","errorMsg" : "user not login","data": [ ]}
每次返回时会重设BDSP , BDSTAT 这两个COOKIE值..需要注意,虽然不重设这两个值也可以
发文,不过发的HTML全部被转码了。。显示源码出来了。。
------------------------------------发送内容的URL转码----------
因为是通过 application/x-www-form-urlencoded"); 发送,所以发送内容需要进行URL编码..
但是其中的汉字必须是UTF-8编码,在这里,汉字不能URL编码。。。与标准编码不同的是,百度
空间对问号不进行转码..所以,根据汉字UTF8编码,其它进行URL编码,所以不能和
title=java.net. URLEncoder.encode这个,只能自己编写转码方法了,只对特殊符号进行转码,
除问号外...。。。
//dsi shha baidu konjye
//ati 2012.7.14
public static String urlEncode(String content) {
if(content==null) return "";
String html = content;
html = html.replace( "%", "%25"); //"
html = html.replace( "+", "%2B");
html = html.replaceAll( " ", "%20");
html = html.replace( "/", "%2F"); //"
// html = html.replace( "?", "%3F"); //"ngaidaolei
yao url endcode ,baidu konjye d byao .
html = html.replace( "#", "%23"); //"
html = html.replace( "&", "%26"); //"
html = html.replace( "=", "%3D"); //"
return html;
}