[英]HTTP Response Header Regex
我曾計划使用Jmeter Regex Extractor在HTTP Response Header中獲取會話ID。 這是HTTP標頭的示例:
HTTP/1.1 200 OK
x-powered-by: yoke
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST,GET,DELETE,PUT
Access-Control-Allow-Headers: X-Requested-With,jsessionid,Origin,Accept,Content-Type
Access-Control-Expose-Headers: Content-Size,Message,Total-Pages,Total-Count,Current-Page,jsessionid,Origin,Total-Outstanding,Content-Range
content-type: application/json
jsessionid: 10838d69-f9ac-4c70-b1f7-9447a7a6a463
Content-Length: 106
我需要得到的是:
10838d69-f9ac-4c70-b1f7-9447a7a6a463
我用這個REGEX:
jsessionid: [^\n]+
但是我得到:
jsessionid: 10838d69-f9ac-4c70-b1f7-9447a7a6a463
你能幫我嗎? 謝謝
最好的問候,Stefio
看看lookaround
了正則表達式,為你特別的情況下,它會是回顧后發正則表達式。 盡管沒有經過測試,但仍無法正常工作:
(?<=jsessionid:\s).+
(?<=jsessionid:\\s)
部分意味着從本質上匹配jsessionid:
但不要將其包括在結果中
使用正則表達式
jsessionid: ([^\n]+)
和模板
$1$
您的問題與正則表達式分組有關。 組0是整個匹配項,這是Jmeter Regex Extractor的默認設置。 第一組是第一組括號內的正則表達式所匹配的。 模板$ 1 $說要使用組1的內容作為結果。 正則表達式分組會變得更加復雜,因此,如果您想從正則表達式中獲取多個值,請閱讀教程。 Jmeter Regex Extractor用戶手冊
JSESSIONID本質上是一個cookie,因此我認為您不需要使用正則表達式將其提取。
我可以想到兩種可能的原因:
在兩種情況下,您都可以使用HTTP Cookie Manager
CookieManager.save.cookies
屬性設置為true
您應該能夠以${COOKIE_JSESSIONID}
身份訪問Cookie值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.