欢迎光临 随枫玉雨的个人网站

VB利用POST协议登陆并发布新浪微博总结

大体过程可以参照李煜的《最新新浪微博登录协议分析 》,在这里我只是记录下delphi转换成VB的几个需要注意的地方.

1.用户名是利用Baset64加密的,而且要转换成url编码格式,需要2次url编码.

URLEncode(Base64Encode(URLEncode(Text1.Text)))

2.时间戳的获取问题,分10位和精确到毫秒级的13位时间戳,获取13位时间戳代码如下:

DateDiff(“s”, “1970-01-01 00:00:00”, Date) * 1000 + Int(CDbl(Timer()) * 1000)

3.登陆密码是经过2次Sha1加密,然后组合ServerTime和Nonce再Sha1一次,一定要注意加密后的大小写问题.

Text3.Text = LCase(StringSHA1(Text2.Text))
Text3.Text = LCase(StringSHA1(Text3.Text))
Text3.Text = Text3.Text + St + Sn
Text3.Text = LCase(StringSHA1(Text3.Text))

4.给http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.21) 这个POST登陆数据之后,若参数都正确,跳转地址在返回包里.

5.需要获取NSC_wjq_xfjcp.dpn_w3.6_w4= 这个cookie值才可以发布微博.

6.在发布微博的时候VB无法使用XMLHTTP来POST数据,会提示找不到网页.目前测试Winsock和WinHTTP可以正常发布微博.

注意:在发布微博的时候数据不要重复,会报错,若发送成功返回数据包里会有{“code”:”100000″,字段.

BY:随枫玉雨 http://www.sdhack.com

QQ号码免费申请,申请QQ号免费,免费申请QQ号,QQ版本更新官方网站

关于我们加入我们