,实现上次贴的思路。短链接是通过共享链接生成的。后来,微博下线了这个功能。微博上还有很多地方。可以生成,发微博,评论,发私信等,也可以在网上发微博。这里我使用的是私信(因为私信接口返回的是json数据,可以偷懒,速度也需要抓紧)项目地址https://github.com/ufec/short...用法更新说明已经写过了,这里不再赘述。可以使用PHP-MongoDB构建相应的索引数据库。这么简单明了的结构推荐使用MongoDB。在这样的场景下,MySQL模拟登录的性能可能还不如MongoDB(个人观点)。这里我只谈一下思路。我也是用PHP来实现密码加密的。没弄出来,我用nodejs做服务端加密,php不用跳转直接搞定。Python确实非常容易实现。三行代码即可完成加密过程。这取决于个人选择。我觉得对于这个需求,真的没有必要去安装Python和那些包。首先预登录的主界面为:https://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&rsakt=mod&client=ssologin.js(v1.4.19)&su=base64帐号&_=13位时间戳从这里可以得到publicKey,servertime,nonce,rsakv等必要的参数,前三位和密码明文作为rsa加密参数,结果作为sp的值登录参数,POST参数:$postData=["entry"=>"weibo","gateway"=>"1","from"=>"","savestate"=>"7","qrcode_flag"=>"false","useticket"=>"1","vsnf"=>"1","su"=>base64_encode(用户名),"service"=>"miniblog","servertime"=>'输入服务器时间这里',"nonce"=>'这里输入nonce',"pwencode"=>"rsa2","rsakv"=>'这里填写rsakv',"sp"=>'加密密码',"sr"=>"1536*864","encoding"=>"UTF-8","prelt"=>"560","url"=>"https://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack","returntype"=>"TEXT",];接口地址:https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.19)这里说一点,returntypevalue最好填写TEXT,返回json数据,默认为html,需要定时获取ticket,登录成功后需要取出ticket做下一步获取POST参数通过:$lastData=["ticket"=>"LastTicketobtainedbytheprocess","ssosavestate"=>time(),"callback"=>"sinaSSOController.doCrossDomainCallBack","scriptId"=>"ssoscript0","client"=>"ssologin.js(v1.4.19)","_"=>(time()*1000)];接口地址:https://passport.weibo.com/wbsso/login获取logincookie,虽然我没有写过php的加密过程,但是我相信可以用php来写,毕竟t上用的php解密服务器端也是一个老问题。当你在服务器上模拟登录时,会遇到验证码。Python可以直接保存二维码等待用户输入,但这在服务端不太现实。可以直接调用图片识别接口进行操作作者博客:CodeLife