jmeter 请求中&;如何转义&
jmeter 请求中&;如何转义&后一个sampler中需要用到前一个sampler 中服务器返回的下载地址
但是返回的地址里面& 显示的是&;
直接用这个返回的地址进去请求时,返回空,
所以我想把这个&;替换成&
在前一个sampler中加了断言,
在两个sampler之间加了 BeanShell PostProcessor
在后一个sampler中调用
代码如下:
//int num = ${urls_matchNr};
String temp = "";
int i = 1;
temp = vars.get("urls_" + i);
temp.replaceAll("\&","\&");
vars.put("url",temp);
但是运行时,请求中直接发送的是 “${url}”这个字符,而不是希望的地址
请问,是我上面的代码有问题吗,还是其他什么原因??
服务器返回的是html代码,那里面的&;代表&,java里面\&是非法转义符,把你的那两个反斜杠去掉试试 肖德兵 发表于 2014-12-10 23:05
服务器返回的是html代码,那里面的&;代表&,java里面\&是非法转义符,把你的那两个反斜杠去掉试试
试过,去掉\也不行,
再问个问题,jmeter中怎么调试这段代码,在调用之前我想先看&是不是替换掉了,变量url中是否保存的是正确的值, String temp = "";
//int i = 1;
temp = vars.get("urls");
vars.put("url",temp.replaceAll("&","&"));
还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的.
${__unescapeHtml(“&”)}
会转义为&
页:
[1]