吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6852|回复: 41
上一主题 下一主题
收起左侧

[其他] 【联通话费查询原始接口】nodejs版 思路+源码

  [复制链接]
跳转到指定楼层
楼主
266277 发表于 2021-10-4 22:11 回帖奖励
本帖最后由 266277 于 2021-10-6 16:18 编辑

逛论坛发现一个有、意思的工具


遂打开FD抓包,可惜抓不到(未解之谜)


灵机一动,记事本打开(还好软件不大),搜http,接口暴露
可以看到请求地址、请求头等信息。


postman调试一下接口
请求方式都试了一下都可以耶(get post put delete)
'Content-Type': 'application/json'那就用post把
非联通号码返回空字符串
返回的字符串是精确到小数点后2位,需要稍做处理

就开始二次封装成自己的接口(下载地址在文末)



可以通过p2m部署服务器上


接口地址后接手机号即可,例如

http://api.qkeep.cn:3000/13277777777(失效)
挺好玩的

ps:刚学的node,瞎写的很多bug 轻喷

[JavaScript] 纯文本查看 复制代码
// 引入框架
const express = require('express');
const axios = require('axios');
// 创建网站服务器
const app = express();
const unicomCharge = async phone => {
  try {
    const { data: res } = await axios.post('https://weixin.10010js.com/app/charge/qryRealFee', {
      phone: phone || ''
    },
      {
        headers: {
          'Content-Type': 'application/json',
          'Referer': 'https://weixin.10010js.com/actPage/activity/index28.html?'
        },
        timeout: 5000
      })
    return res

  } catch (err) {
    console.log(err);
  }

}

app.get('/:phone', (req, res) => {

  unicomCharge(req.params.phone).then(ret => {
    const data = JSON.stringify(ret)
    if (data.length !== 2)
      return res.send(`${data.slice(0, -2)}.${data.slice(-2)}`)
    res.send('非联通号码')
  })

})

app.listen(3000);
console.log('running at http://localhost:3000');





蓝奏盘https://bdpan.lanzoui.com/ioLDNuw7g8d



免费评分

参与人数 10吾爱币 +9 热心值 +9 收起 理由
某神隐 + 1 + 1 欢迎对自己提升
ding2wife + 1 + 1 好玩
李小天 + 1 + 1 我很赞同!
skuld + 1 + 1 我很赞同!
woyucheng + 1 + 1 谢谢@Thanks!
sdaza + 1 热心回复!
bian96 + 1 + 1 我很赞同!
一只小凡凡 + 1 我很赞同!
Shuaiju696 + 1 + 1 用心讨论,共获提升!
1452004 + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
小迷糊c 发表于 2021-10-4 23:19
我没加壳  本来就想放出来大家一起玩玩
推荐
栀蓝 发表于 2021-10-5 04:17
[JavaScript] 纯文本查看 复制代码
const Koa = require("koa");
const Axios = require("axios");
const KoaRouter = require("koa-router");

const Port = 8080;
const app = new Koa();
const router = new KoaRouter();

router.get("/:phone", async (ctx, next) => {
	let code;
	let message;
	const { phone = "" } = ctx.params;
	const headers = {
		"Content-Type": "application/json",
		Referer: "https://weixin.10010js.com/actPage/activity/index28.html?",
	};

	try {
		const res = await Axios.post("https://weixin.10010js.com/app/charge/qryRealFee", { phone }, { headers });

		if (res.data || "") {
			code = 200;
			message = "success";
		} else {
			code = 400;
			message = "请检查手机号";
		}

		ctx.response.body = {
			code,
			message,
			phone,
			balance: res.data || "error",
		};
	} catch (err) {
		ctx.response.body = "接口失效";
	}
});

app.use(router.routes());
app.use(router.allowedMethods());

app.listen(Port, () => {
	console.log("Server Running");
});
沙发
1452004 发表于 2021-10-4 22:15
3#
hhjjrrtt 发表于 2021-10-4 22:16
谢谢楼主分享
4#
杜海涛 发表于 2021-10-4 22:31
有查流量的吗
5#
410791007 发表于 2021-10-4 22:32
有点意思,试了试可以直接网页上查,可惜多半用的还是移动
6#
隔壁家的王二狗 发表于 2021-10-4 22:38
接口已经400了
7#
呵呵我笑了 发表于 2021-10-4 22:42

没有吧,我可以用
8#
隔壁家的王二狗 发表于 2021-10-4 22:44

我的问题 我提交的参数直接用params提交的 按道理来说这不一样的吗

换成form-data 也不行直接在body里面手动写个json(postman)
9#
pdsdongyou 发表于 2021-10-4 22:50
感谢楼主分享,
10#
 楼主| 266277 发表于 2021-10-4 22:57 |楼主
隔壁家的王二狗 发表于 2021-10-4 22:44
我的问题 我提交的参数直接用params提交的 按道理来说这不一样的吗

换成form-data 也不行直接在body里 ...
post参数好像放params就可以,实际发请求会帮你放到body里面...好像是
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 07:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表