首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jmeter从URL中提取会话ID

使用Jmeter从URL中提取会话ID
EN

Stack Overflow用户
提问于 2017-08-30 15:46:31
回答 3查看 1.5K关注 0票数 0

我用计量器试着测试一个网站。我目前在提取返回的信息时遇到了问题。

例如,我发送HTTP请求到:

代码语言:javascript
复制
    https://intranet.company.com/Capps/f?p=101:1:

该网站的答复如下:

代码语言:javascript
复制
   https://intranet.company.com/Capps/f?p=101:1:11016690116729:::::

响应末尾列出的新的数字字符串是我必须用来测试程序的其他页面的会话id。我一直试图使用reg Ex提取器,但我似乎无法从url中提取号码。我目前使用的是千分尺3.1

正则表达式我累了:

代码语言:javascript
复制
f?p:101:1:([0-9]{16})::

f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{16}):

还有各种类似的表达方式,但没有一个对我有用。如果我设置的网站没有会话is,它将工作,但该网站需要使用会话is。

谢谢你的帮助,

Zwils0

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-31 05:00:25

  1. 您需要转义?符号,因为它是元字符,可能被解释为重复模式。
  2. 由于某些原因,您试图提取16位长整数,而您的id是14位长。

我建议使用以下正则表达式抽取器配置:

  • 要检查的字段:URL
  • 引用名称:任何有意义的内容,即id
  • 正则表达式:f\?p=101:1:(\d+):
  • 模板:$1$

演示:

参考文献:

票数 0
EN

Stack Overflow用户

发布于 2017-08-30 17:03:03

我不知道don,但我想它支持标准regex语法。在正则表达式中,您需要一个固定长度为16的数值会话id。但是,会话id不需要16位长。在您自己的例子中,它有14位数。如果我检查我的甲骨文云端帐户的会话长度,它是13位长。因此,我想您不能依赖它的常量长度,因此,请尝试使用这样的方法:

f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{10,16}):

甚至这个:

f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]*):

也请查看下面的链接并向下滚动一点。大师杰夫·肯普已经做了这样的事。

https://jeffkemponoracle.com/2011/10/07/googlebot-apex-session-ids-and-cookies/

票数 0
EN

Stack Overflow用户

发布于 2017-08-30 23:07:53

Chris在他关于为APEX专门配置j测量仪的全面文章中介绍了这一点。它已经过时了,但我很确定它仍然有效。

( c) sessionId正则表达式抽取器

f?p=(0-9{1,3}):(0-9{1,3}):(0-9{16}):

http://one-size-doesnt-fit-all.blogspot.com.au/2010/05/configuring-apache-jmeter-for-apex.html

这似乎是您尝试过的,但似乎还有其他设置和注意事项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45964737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档