paip.百度空间 JAVA程序发文总结

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;
     }

posted @ 2012-07-16 21:19  attilaxAti  阅读(20)  评论(0编辑  收藏  举报