新浪短网址接口源码,并使用PHP模拟登陆微博来自动更新

实现思路

上次发过的,通过分享链接来生成短链接,后来微博又下线了这个功能,微博还有好多地方都可以生成,发微博、评论、发私信等等都可以,网上也有通过发微博来实现的,这里我用的是发私信(因为私信接口返回的是json数据,可以偷懒,而且速度也要快一点)

项目地址

https://github.com/ufec/shortUrlApi
使用方法更新说明里面已经写好了,就不再赘述。可以使用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位时间戳

从这里我们可以获取公钥、服务器时间、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" => '这里填入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)

这里指出一点,returntype值填TEXT会更好,返回json数据,默认的是html,要正则取ticket,
登录成功后,需要取出ticket,来做下一步获取通行证的POST参数:

$lastData = [
            "ticket"       => "上个过程获取的ticket",
            "ssosavestate" => time(),
            "callback"     => "sinaSSOController.doCrossDomainCallBack",
            "scriptId"     => "ssoscript0",
            "client"       => "ssologin.js(v1.4.19)",
            "_"            => (time() * 1000)
];

接口地址:

https://passport.weibo.com/wbsso/login

即可获取登陆cookie,虽然我还没写出php的加密过程,但我相信肯定能用PHP来写,毕竟服务端用的PHP解密


login.png

同样老问题,在服务器上模拟登陆,会遇到验证码,Python可以直接保存二维码等待用户输入,但在服务器上这样不现实,可以直接调用图片识别接口来操作即可。

原文博客

新浪短网址接口源码,并使用PHP模拟登陆来自动更新

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,640评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,254评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,011评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,755评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,774评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,610评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,352评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,257评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,717评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,894评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,021评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,735评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,354评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,936评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,054评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,224评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,974评论 2 355