2015-01-21 3 views
0

У меня проблема с HTTPRequest Apache Jmeter.Apache Jmeter HTTPRequest не отвечает?

Для URL, как:

http://vast.bp3858435.btrll.com/vast/3858435?n=1421841861&br_w=[] 

Он работает и реагирует нормально.

Но когда я добавить знак% в мой URL не отвечает в Jmeter и возвращает следующее:

java.net.URISyntaxException: Malformed escape pair at index 141: http://vast.bp3858435.btrll.com/vast/3858435?n=1421841861&br_w=[]% 
at java.net.URI$Parser.fail(Unknown Source) 
at java.net.URI$Parser.scanEscape(Unknown Source) 
at java.net.URI$Parser.scan(Unknown Source) 
at java.net.URI$Parser.checkChars(Unknown Source) 
at java.net.URI$Parser.parseHierarchical(Unknown Source) 
at java.net.URI$Parser.parse(Unknown Source) 
at java.net.URI.<init>(Unknown Source) 
at java.net.URL.toURI(Unknown Source) 
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:252) 
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74) 
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1105) 
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1094) 
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429) 
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) 
at java.lang.Thread.run(Unknown Source) 

Почему это происходит?

ответ

1

Это происходит потому, что сам % является escape-символом и сам по себе не является допустимым символом в URI. Существуют определенные символы, которые недействительны для любого URI (включая сам %) и должны быть закодированы с использованием символа %, за которым следует двухзначное шестнадцатеричное число.

Если вы хотите отправить символ процента (%) самостоятельно как часть данных URI, он кодируется как %25.

http://en.wikipedia.org/wiki/Percent-encoding

Вы можете использовать URLEncoder.encode() для кодирования URI/URL. JMeter также имеет its own encode function с версии 2.0 (__urlencode())

+0

Да, это совершенно правильно, но как я могу автоматически кодировать URL-адрес внутри jmeter? – AHS

+0

@ Ахмед, обновил мой ответ. – ElGavilan

+0

Замечательный, спасибо – AHS

Смежные вопросы