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

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

title: 新浪短网址接口源码,并使用PHP模拟登陆来自动更新
date: 2020-05-17 09:55:54.0
updated: 2020-09-27 21:55:23.0
url: https://www.ufec.cn/archives/php-weibo-login.html
thumbnail: https://ghproxy.com/https://raw.githubusercontent.com/ufec/picGoImg/main/blog/2020/05/timg-c31ed44661e942cba0b35f1770034c06.webp
categories:

  • 代码

tags:

  • PHP
  • 新浪短网址
  • 爬虫开发
  • NodeJs

实现思路

上次发过的,通过分享链接来生成短链接,后来微博又下线了这个功能,微博还有好多地方都可以生成,发微博、评论、发私信等等都可以,网上也有通过发微博来实现的,这里我用的是发私信(因为私信接口返回的是 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.webp
同样老问题,在服务器上模拟登陆,会遇到验证码,Python 可以直接保存二维码等待用户输入,但在服务器上这样不现实,可以直接调用图片识别接口来操作即可。

目录
相关文章
|
12天前
|
PHP 数据库
PHP在线制作表白网源码
PHP在线制作表白网源码,送女友个惊喜吧,无数据库,上传就能用,后台/admin,账号密码都是admin
23 0
|
20天前
|
安全 前端开发 PHP
采用PHP开发的医院安全(不良)事件系统源码 医院不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
医疗安全不容忽视! 医疗不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
30 1
采用PHP开发的医院安全(不良)事件系统源码 医院不良事件有哪些?又该怎样分类呢?也许这篇文章能给予你答案。
|
20天前
|
存储 安全 前端开发
PHP医院安全不良事件管理系统源码(AEMS)前端vue2+element+后端laravel8不良事件上报与闭环管理
医院不良事件上报与管理系统结合现代医院管理思路,遵照PDCA全面质量循环管理方法而设计,并在多家大型三甲医院成熟运用。系统从事件上报、基于人、机、料、法 、环的RCA分析、事件整改、效果评估实现了结构化、标准化、智能化的管理和分析,满足医院可追溯化、全流程闭环管理要求,满足等级医院评审细则要求,大力提高医院不良事件上报的效率,保障事件分析的准确性,促进医疗安全的提高,避免同类事件再次发生,改善整个医院医疗安全,从而实现医院安全医疗的目标。
29 3
|
20天前
|
监控 PHP Python
1688快速获取整店铺列表 采集接口php Python
在电子商务的浪潮中,1688平台作为中国领先的批发交易平台,为广大商家提供了一个展示和销售商品的广阔舞台;然而,要在众多店铺中脱颖而出,快速获取商品列表并进行有效营销是关键。
|
20天前
|
监控 安全 前端开发
PHP基于B/S版 医院不良事件管理系统源码vscode+laravel8医院如何加强不良事件上报系统的管理 AEMS系统源码
医院安全(不良)事件管理AEMS系统构建全院人员,在医疗、环境、设备、服务及相关制度体系运行过程中,发现存在的不良、隐患事件,能够以匿名、实名方式主动、方便、快捷的上报、反馈。
35 6
|
20天前
|
监控 安全 PHP
采用PHP开发的不良事件管理系统源码vue2+element医院不良事件上报系统的意义 AEMS系统源码
不良事件管理系统(AEMS)是一种用于医疗行业的解决方案,它主要用于处理和管理临床不良事件。这些不良事件是指由医疗导致的伤害,与疾病的自然转归相反,可能延长病人的住院时间或导致残疾。AEMS的目标是揭示系统的不足与缺陷,减少不良事件对病人、家属、医护人员和医院声誉的影响。
29 1
|
20天前
|
人工智能 安全 前端开发
PHP医疗不良事件上报系统源码 AEMS 医院安全(不良)事件报告系统源码 可提供演示
根据报告系统主体和适用范围;根据所报告事件强制性要求 分为自愿报告系统和强制报告系统。强制报告系统主要定义为严重的、可预防的护理差错和可以确定的不良事件,几乎所有医院的护理主管部门都制订了不良事件上报制度,以便有效地分析事件原因。自愿报告系统是强制报告系统的补充,要求和鼓励护理主管部门或个人自愿上报不 良事件,更有助于发现组织系统的安全 隐患,加强护理安全管理。
28 4
|
20天前
|
存储 监控 安全
PHP医院安全(不良)事件报告系统源码 vue2+element支持11大类不良事件上报、审核处理、分析改进
医院安全(不良)事件管理系统采用无责的、自愿的填报不良事件方式,有效地减轻医护人员的思想压力,实现以事件为主要对象,可以自动、及时、实际地反应医院的安全、不良、近失事件的情况,更好地掌握不良事件的发生趋势,为及时采取适当的管理措施和流程、制度改进提供了良好的量化依据。系统通过汇集不同类型事件的报告,从中分析出医院内部潜在的问题和风险,将发生的事故降到最低,从而保证病人安全和医护人员安全。
25 0
|
20天前
|
PHP 数据库
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务-2
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务
|
20天前
|
存储 PHP Apache
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务-1
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务