新浪微博登陆以及发送微博(附python源码)
2017-07-28 19:08
357 查看
说明
分析
登陆参数和响应
关键代码
请求参数和响应
登陆成功的请求是这样的
发送微博请求
参数和响应
具体效果就可以看我微博传送门
源码下载
下载地址
本文主要记录分析新浪微博登陆以及发送文字和图片微博的详细过程
分析
登陆入口选择的是新浪通行证登陆入口 https://login.sina.com.cn/signup/signin.php 抓包找到登陆请求 https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)&_=1501239862897
登陆参数和响应
登陆肯定少不了用户名和密码,这些参数中符合条件的只有su 和sp,su可以猜测base64编码的,解码后得到了我的账户名,sp肯定是加密后的密码,但是需要知道加密方式然而pwencode参数告诉我们是RSA加密,既然时非对称加密,所有肯定需要获取公钥,而且客户端肯定有登陆操作时加密等操作的代码。client参数已经很明显了,需要去找到这个js文件。找到ssologin.js文件之后就不用猜了,直接分析代码了
关键代码
通过分析代码可以知道用户名是urlencode之后再base64编码,密码是几个变量和密码拼接之后用公钥加密的,所以登陆之前肯定需要获取变量和公钥 登陆之前请求 https://login.sina.com.cn/sso/prelogin.php?entry=account&callback=sinaSSOController.preloginCallBack&su=ODkxOTkyNDg5ZnclNDBzaW5hLmNu&rsakt=mod&client=ssologin.js(v1.4.15)&_=1501239861950
请求参数和响应
可以看到返回登陆所需要的一些变量,公钥等等(需要注意的是返回的公钥是十六进制的需要转换,构造公钥的时候10001也可直接替换为65537)
登陆成功的请求是这样的
登陆成功之后返回uid以及需要重定向的地址。 发送微博 http://weibo.com/aj/mblog/add?ajwvr=6&__rnd=1501242956000
发送微博请求
pic_id即图片id,这个id是在上传图片的时候返回的 上传图片 http://picupload.weibo.com/interface/pic_upload.php?cb=http%3A%2F%2Fweibo.com%2Faj%2Fstatic%2Fupimgb 4000 ack.html%3F_wv%3D5%26callback%3DSTK_ijax_150124497795341&mime=image%2Fjpeg&data=base64&url=0&markpos=1&logo=&nick=%40%E4%B8%96%E7%95%8C%E9%82%A3%E9%BA%BC%E5%A4%A7_&marks=0&app=miniblog&s=rdxt
参数和响应
具体效果就可以看我微博传送门
源码下载
下载地址
相关文章推荐
- python+beautifulsoup/xpath实现新浪微博大批量微博发送器
- 最新 新浪微博 python 自动登陆 刷票 关注 发微博 转发
- Python使用新浪微博API发送微博的例子
- python-网络爬虫初学一:获取网页源码以及发送POST和GET请求
- Python使用新浪微博API发送微博的例子
- web测试常用python代码——ssh远程登陆以及命令执行
- 使用新浪微博官方API抓取微博数据(Python版)
- asp.net后台集成QQ第三方接口含发送微博、带图片微博(有源码)
- Python模拟登陆新浪微博
- Python 获取新浪微博指定用户的微博列表
- android分享到新浪微博,认证+发送微博
- python变现实现新浪微博登陆
- Java使用新浪微博API通过账号密码方式登陆微博的实例
- 从零开始学新浪微博分享和第三方登陆(附源码下载)
- 大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。
- HttpClient4的使用,模拟浏览器登陆新浪微博,发表微博和文字+图片微博
- 猫猫学iOS 之微博项目实战(13)发送微博调用相机里面的图片以及调用相机
- Python代码登录新浪微博并自动发微博
- 超详细的Python实现新浪微博模拟登陆(小白都能懂)
- DIY 新浪微博Android客户端 ----用Android手机发送来自iPhone的微博