python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”

python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”这是一个还没解决的问题,这里纯粹记录自己思考的过程,后续给自己参考。先说明情景:对微信公众号的一个接口进行调用跑通,后续可能需要压测(是的,仅仅是调通一个接口而已o(╥﹏╥)o)1、按照我理解的正常套路,我直接请求对应的接口,然后通过抓包得到Cookie,写入到HTTPCookie管理器中,如下:emmmm….开始百度,发现也有类似的提问,但是没有一个靠谱有效的答案。然后我就去分析登录过程了…

大家好,又见面了,我是你们的朋友全栈君。

这是一个还没解决的问题,这里纯粹记录自己思考的过程,后续给自己参考。

先说明情景:对微信公众号的一个接口进行调用跑通,后续可能需要压测(是的,仅仅是调通一个接口而已o(╥﹏╥)o)

1、按照我理解的正常套路,我直接请求对应的接口,然后通过抓包得到Cookie,写入到HTTP Cookie管理器中,如下:

python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”

emmmm….开始百度,发现也有类似的提问,但是没有一个靠谱有效的答案。然后我就去分析登录过程了,看最后一个重定向的响应数据:

python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”

恩?意思就是还要用户授权,扫码然后在手机上点击【确定】,然后才能登录?于是,我去找微信授权网页开发的东西,官方文档:网站应用微信登录开发指南。

文档写的简单易懂,看完之后自己继续尝试,但是好像一直拿不到一个有效的code。

对应的开发最近又在弄双十一的需求,实在不好意思叨扰。猜测应该是我需要传某些参数,进而跳过用户授权这么一个步骤。

———————————————–分割线—————————————————–

今天开发有空,和他聊了聊,得到一些东西:首先,这个项目没有前后端分离,采用的验证是JWT做的。然后拿着我的问题去请教(其中还出现了一个情况,我加上了User-Agent,响应结果提示我在微信客户端打开链接),开发告知我扫码这个步骤是由来源控制的,如果没有来源也不是微信浏览器就会让扫码(“来源”涉及公司业务)。那么问题就又回到一个点:jmeter如何模拟微信客户端发起请求?查看微信相关的开发文档:

var ua =navigator.userAgent.toLowerCase();

var isWeixin= ua.indexOf(‘micromessenger’) != -1;

var isAndroid = ua.indexOf(‘android’) != -1;

var isIos = (ua.indexOf(‘iphone’) != -1) || (ua.indexOf(‘ipad’) != -1);

我填写的User-Agent是满足这些条件的,查看请求中也带了User-agent,那么为什么还会被服务器判定为不是微信浏览器?

技术有限,这个问题我暂时是没辙了,优先完成工作任务,我就用另一种方式去调通接口了,公司业务层面的来源控制:

python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”

JWT做的验证,我拿到了token,然后一起传进去,还是重定向到了登录页。哎,技术菜,是原罪啊,

python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”该干活了…..

python 请在微信客户端打开_(未解决)jmeter报错之“请在微信客户端打开链接”

___学习是个锐化自己的过程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134115.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • unix命令大全详解-完整版_command方式:

    unix命令大全详解-完整版_command方式:UNIX命令大全详解-完整版command方式:任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入都引起立即反映insert方式:任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入in

  • Struts2 FilterDispatcher的作用[通俗易懂]

    Struts2 FilterDispatcher的作用[通俗易懂]org.apache.struts2.dispatcher.FilterDispatcher是Struts2的主要的Filter,负责四个方面的功能:  (1)执行Actions  (2)清除ActionContext  (3)维护静态内容  (4)清除request生命周期内的XWork的interceptors  另注:该过滤器应该过滤所有的请求URL。一般被设置

  • 简述android触屏事件的处理_android模拟点击屏幕事件

    简述android触屏事件的处理_android模拟点击屏幕事件Android屏幕操作屏幕是用户和Android设备交互的主要媒介,屏幕分为触屏和非触屏。Android设备目前有四种类型:AndroidPhone,AndroidTablet,AndroidWear和AndroidTV。AndroidTV大都使用非触屏,其他三类设备则大都使用触屏。对非触屏设备,用户可以通过键盘鼠标或遥控器在屏幕上操作。对触屏设备,用户主要通过手指或触控笔等工具在屏幕上…

  • DSL和配置_ds3配置

    DSL和配置_ds3配置为什么要用DSL呢?这个问题可以算DSL应用中第二重要的问题。第一问题是我前面的讨论过的什么应用是DSL适应的范围。首先我们应该承认,DSL不是最简明且易于理解的方法。我们来跟配置文件的方式比较一下。显然DSL在比较中会落败,因为至少对客户来说不存在语法的问题。DSL的运行效率也未必就很好,至少从配置的角度来说会如此。DSL的开放效率也未必就是最好的,因为很多场景下因为DS…

    2022年10月29日
  • java8中 Collectors.groupingBy用法

    java8中 Collectors.groupingBy用法Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组1、数据准备:publicProduct(Longid,Integernum,BigDecimalprice,Stringname,Stringcategory){this.id=id;this.num=num;this.price=price;this.name=name;this.category=category;}…

  • java递归无限层级树_最小生成树和最短路径的区别

    java递归无限层级树_最小生成树和最短路径的区别给定一棵 N 个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。注意: 树中的所有边权均为整数,且新加的所有边权也必须为整数。输入格式第一行包含整数 t,表示共有 t 组测试数据。对于每组测试数据,第一行包含整数 N。接下来 N−1 行,每行三个整数 X,Y,Z,表示 X 节点与 Y 节点之间存在一条边,长度为 Z。输出格式每组数据输出一个整数,表示权值总和最小值。每个结果占一行。数据范围1≤N≤60001≤Z≤

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号