jmeter
jmeter copied to clipboard
problem decoding url with some characters
Expected behavior
expected decoded URL is a valid URL like this
https://lti.mydomain.com/launch
?client_id=Zk4vTsTYCjM22nt
&login_hint=2
&nonce=2c94613d-10bd-4cb3-94dc-217e31345a7b
&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InhkZW0tbHRpLUVUN1JVVzlQbzJtaW12b3gzOTFQIn0.eyJzdWIiOiIyIiwiaXNzIjoiaHR0cHM6Ly9sdGkueGRlbWlhLmxvY2FsIiwiYXVkIjoiaHR0cHM6Ly9tb29kbGUubG9jYWwiLCJub25jZSI6IjExZjkyNjNmLWM2ZjAtNDcwMy05MjNlLTg3YTVjYzgyZGI3ZSIsInBhcmFtZXRlcnMiOnsiaXNzIjoiaHR0cHM6Ly9tb29kbGUubG9jYWwiLCJ0YXJnZXRfbGlua191cmkiOiJodHRwczovL2x0aS54ZGVtaWEubG9jYWwvbGF1bmNoIiwibG9naW5faGludCI6IjIiLCJsdGlfbWVzc2FnZV9oaW50Ijoie1wiY21pZFwiOjEwNCxcImxhdW5jaGlkXCI6XCJsdGlsYXVuY2gzMV81ODgwMjM0NjZcIn0iLCJjbGllbnRfaWQiOiJaazR2VHNUWUNqTTIybnQiLCJsdGlfZGVwbG95bWVudF9pZCI6IjEzIn0sImp0aSI6Ijk2NGExMTJmLWE0YWQtNGY4ZC1hMjM0LWIxMDg3ZjdjM2YzMyIsImlhdCI6MTcwMTkzOTQzMS42NzExMzQsIm5iZiI6MTcwMTkzOTQzMS42NzExMzQsImV4cCI6MTcwMTk0MDAzMS42NzExMzR9.I02DOGUhN6GbHijQiNTG9MUv0tmvTnBodw87WFlC2t2wX2rHOGEvFR5qdE9PhGkxbLuT4hKwU3H4OhwxjpmKljjETCiZLuL3mQVUdrBqm9SbgVWs5zgqjI4zfL6at5r7SKQPe28ys_PNS7zuxBrHzOa0bGNO9TkhwoOEyImc0nMwLSaCJZsbN63eRMRv8hqxvXmmXB9WsjDUckqTB4Jk9si16_vDXOfTpZ9GIOAVzIjzwCmEOKgclnaXF1AOavNnA5kU9olUsAHNA7hm7fIeZB0Z4jAUBP6Orb56QcxNQeW92oGEfaU7TS4gBzVmaeBU7YrGYi2C7By5ImiaImLbIrVV9JIMmaLgTyH00GcmpyA0HF3i9nBznGSU6rC543QecJsvn6lnM2BSdN_oP2jRGBkDGn6kkPbkfmWB8P06Ssmt4Hl4cCPnzV4CaDhw8oDcasl3dLTvF1j2tXkdd0BpFWOPPo5XvA6QuS5G3s2PRM8QAnjp9i1l9jA8N4qlAkbTdPUShufgdb33_hubAZEHfb3LvsRvCuCVnI9HKcELVwxguyyH-KV6fdZEj5w91fBL6_IiAjqekvoeDohXQNQ5m5goBBZfFMMnJseQOprMnvacdGymWdFPyCTNVxu1-jCX7BuMvth5S4tG5exa8m8xtaV1FdMwcQeiodj_hn5_wRE
<i_message_hint=%7B%22cmid%22%3A104%2C%22launchid%22%3A%22ltilaunch31_588023466%22%7D
&scope=openid
&response_type=id_token
&response_mode=form_post
&prompt=none
Actual behavior
decode url still leave &amp;
and curly brackets like this
https://lti.mydomain.com/launch&amp;client_id=A9zCoN379eDfRR8&amp;login_hint=2&amp;nonce=e6b64a75-99dc-4366-b632-287fa3ad7baa&amp;state=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InhkZW0tbHRpLXVUMTA5YlFVbGFiTG40ZGJaY2w2In0.eyJzdWIiOiIyIiwiaXNzIjoiaHR0cHM6Ly9sdGktc3RhZ2luZy54ZGVtaWEuY29tIiwiYXVkIjoiaHR0cHM6Ly9hZG1pbi5kZXY4Lm5vdmltaXguY29tIiwibm9uY2UiOiJkN2MxOGQyNi0zMDg4LTQzN2YtYWU4Ni00NzA3NDdkYWRkOTMiLCJwYXJhbWV0ZXJzIjp7ImlzcyI6Imh0dHBzOi8vYWRtaW4uZGV2OC5ub3ZpbWl4LmNvbSIsInRhcmdldF9saW5rX3VyaSI6Imh0dHBzOi8vbHRpLXN0YWdpbmcueGRlbWlhLmNvbS9sYXVuY2giLCJsb2dpbl9oaW50IjoiMiIsImx0aV9tZXNzYWdlX2hpbnQiOiJ7XCJjbWlkXCI6MzA5MixcImxhdW5jaGlkXCI6XCJsdGlsYXVuY2gzXzcwOTMwMzJcIn0iLCJjbGllbnRfaWQiOiJBOXpDb04zNzllRGZSUjgiLCJsdGlfZGVwbG95bWVudF9pZCI6IjIifSwianRpIjoiN2VmZTlmZDUtYzg4OC00YzllLTg1MWQtZjY3YWIzNjc5YTVjIiwiaWF0IjoxNzAyMDIwMTcxLjM5ODI0NCwibmJmIjoxNzAyMDIwMTcxLjM5ODI0NCwiZXhwIjoxNzAyMDIwNzcxLjM5ODI0NH0.rhPbMTCfD7vJtqef95DD5Wmzi3ydiO_ysejWLB0EXuAyumZXnfa8ngMOgIN8YBhT9rvi1Tq0n_vCdWuZ8E8TV7vCMvyQa00ilwzIrF0YRZDlkWV8sAdmZ4J7ruN6WAQE1c3tL8MpWjkdce9ozj1pwYZDiE3pWMVJ9eqa5RAMa83UwVSCLW15mwTGLjqbSlWZZS1XpTj3XwhaNZyVFbcOepsLogTvr0eziZRJSMCQDGATgJKjZZk1RtBOY-4uJl3dmDw1O8olwnCWQZmIcXgRWwoFfCUBmY76hzmTkIZIevQ-Ktr5VctsEth-2o2jvXeLdgY6DVw4ARI3muCQZCTX9cSzCRxum-2Fe42VeYC8RBaHWz4iHEBzkhgZvn1yBC3fgoYDYGmGn4-Fv_w1YkkdBxSNFp3az50qv32VgDezuq9VioOpctQif2lxQES1WjqgWL2Gt-ReL9cASAyCBnjDks0kqVlekwg6fiOBCiy3TuqExwS8i1zQW4gjSgWvbbDlFp_vVaY2MdzXI3A9uXaDQWbcON4KUFGMNMXZp0Pe2NuOaOUV40ap3rlHBAJ1ODGWefOcG5gK3ThOEwe46qGaKaxY8ZUjVPlWuL3FcuowhoQ-XPbq3ZQ_S1hW2WwQ1sl1zGWCGaB2YjECSGbgOOwCQbaSOFXUi6A-526ukb-jZHo&amp;lti_message_hint={"cmid":3092,"launchid":"ltilaunch3_7093032"}&amp;scope=openid&amp;response_type=id_token&amp;response_mode=form_post&amp;prompt=none
Steps to reproduce the problem
I am building LTI tool and testing OIDC flow, I extract redirect URL that come from LTI platform (I use moodle), and I got this url:
https%3A%2F%2Flti.mydomain.com%2Flaunch&amp;client_id=A9zCoN379eDfRR8&amp;login_hint=2&amp;nonce=2761b1a3-2b0d-470a-a20c-b641297940b7&amp;state=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InhkZW0tbHRpLXVUMTA5YlFVbGFiTG40ZGJaY2w2In0.eyJzdWIiOiIyIiwiaXNzIjoiaHR0cHM6Ly9sdGktc3RhZ2luZy54ZGVtaWEuY29tIiwiYXVkIjoiaHR0cHM6Ly9hZG1pbi5kZXY4Lm5vdmltaXguY29tIiwibm9uY2UiOiI4ZmMxODMwYi0xNDg5LTQ4MWUtOTA4My03MDQxYjIyMmQyM2IiLCJwYXJhbWV0ZXJzIjp7ImlzcyI6Imh0dHBzOi8vYWRtaW4uZGV2OC5ub3ZpbWl4LmNvbSIsInRhcmdldF9saW5rX3VyaSI6Imh0dHBzOi8vbHRpLXN0YWdpbmcueGRlbWlhLmNvbS9sYXVuY2giLCJsb2dpbl9oaW50IjoiMiIsImx0aV9tZXNzYWdlX2hpbnQiOiJ7XCJjbWlkXCI6MzA5MixcImxhdW5jaGlkXCI6XCJsdGlsYXVuY2gzXzE1NTEwMlwifSIsImNsaWVudF9pZCI6IkE5ekNvTjM3OWVEZlJSOCIsImx0aV9kZXBsb3ltZW50X2lkIjoiMiJ9LCJqdGkiOiJiYTFkNGQ2My1hNGNiLTRkMDMtOTgzZi05YjY0YjdiM2JkZmQiLCJpYXQiOjE3MDIwMjAxODAuNzkwNzY0LCJuYmYiOjE3MDIwMjAxODAuNzkwNzY0LCJleHAiOjE3MDIwMjA3ODAuNzkwNzY0fQ.iPfcCAB7MNfzSctggpc92YIkHCN7A-3UESg2YQZRhY5t3WhHerkCrsZ0dNQzTa1Ew4QcEwfE-4MCjNFXOuZIMF7DgfKA4d_JIIYD6Og9lf9yY1kYsvRutOu7jNdecxizPP0yHBP9twdTFjB226C47QuTohDxR8WcHpzBRxAH2fxNXZKZw673DvI7MsCVxa9DsXUUb4UgUQVi2qvXjplwhR9wKmS0jicbUgFVkIPHcySTd61J1I6biFwOVFJ-Rv8na_9997vlktG1pMQFDHvMf8K-yvd-PoYFShMAyvoA1HS2RDP_oInnZyvh-09qJAFAhiDwkDLHEOXMaG7_jvsvp5Cl6AXD4rZEOjmYEopE3NOuNISB4NKyDRt5ExvWSZbKhFHBrdcWlkP0Zdrr8cN7CgTnq1ewsiGRz_Mra7vhZTKeUgD1piT8HxrHtYNUubL_QHt-g7jRnYmH0_8gg83vqCrN9_T6InAUinEqXKyiAHGaI7Uh793knZLYKbc9ZNOBtzlNQLG300H8aTxhZjOHrmLVs_9jQE4QPt_hnDL0x77BBvP_v1epn8Gn-mkZ5fF6h78QhsGIF6-ckiEw7jTyOqceXJa9VmBpWVbiXwZ0N-M33M-qf2zL2tNrPm-ilD6rTA31ZB24TbDh9bUQ9Q5Rp1TEkvkxDPkVQNKTNII43DQ&amp;lti_message_hint=%7B%22cmid%22%3A3092%2C%22launchid%22%3A%22ltilaunch3_155102%22%7D&amp;scope=openid&amp;response_type=id_token&amp;response_mode=form_post&amp;prompt=none
place the url on variable "tool_url", on the path use ${__urldecode(${tool_url})}
, run the test then see the result and go to Response tab, you will see java.net.URISyntaxException: Illegal character in path at index
, then change to Request tab, now you see invalid given URL that decoded from above url
JMeter Version
5.6.2
Java Version
openjdk version "11.0.21" 2023-10-17
OS Version
Ubuntu 22.04.3 LTS (Jammy Jellyfish)
Please provide exact reproducer
I've updated my case @vlsi , thank you.
Please provide JMX as it would make it much easier to reproduce and analyze the issue.