无法使用正则表达式提取从 header 内的 URL 中提取 GUID

Unable to extract GUID from URL within header with regular expression extraction

我在从 header 中的位置提取 GUID 时遇到问题。我试过跟随它,但它似乎根本没有提取。

Response headers:
HTTP/1.1 201 Created
Content-Length: 99
Content-Type: application/json; charset=utf-8
Location: https://hello.com/books/category/cdeacb91af9f4faca842714c4ee9be45
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
Date: Thu, 05 Mar 2015 22:29:37 GMT

我尝试使用正则表达式,但它无法提取该 GUID。在大多数情况下,我能够使用 (.+?)

提取我想要的任何内容
Location: https://hello.com/books/category/(?s)(.*?)$
Location: https://hello.com/books/category/(.+?)

谢谢。

你可以简单地使用一个字符 class:

Location: https://hello.com/books/category/([0-9a-fA-F]{32})

[0-9a-fA-F]表示A和F之间的所有数字和字母,包括大小写。

如果提供正确的边界,您的 (.+?) 正则表达式将正常工作。

尝试将其更改为

Location: https://hello.com/books/category/(.*)

它应该可以解决问题

另外不要忘记将 "Field to check" 更改为 "Response Headers",因为正则表达式将无法在响应 body 中查找 "Location" header。

有关详细信息,请参阅 Using RegEx (Regular Expression Extractor) with JMeter 指南。