微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

防止XMLHTTPRequest对URL进行编码

如何解决防止XMLHTTPRequest对URL进行编码

我目前正在尝试使用与专有Web服务器通信的非常老的Web应用程序(+15年)。不幸的是,我遇到了阻止程序问题,无法使用现代javascript解决

登录过程中,GET请求通过XMLHTTPRequest发送到服务器。不幸的是,现代浏览器会自动对URL进行编码。但是,旧的IE11(及以前的版本)不对URL进行编码。使用curl可以很容易地复制相同的内容-认情况下,它也不会触摸该URL,而是按原样发送(即使它不是正确的URL)

旧浏览器行为:

curl 'http://192.168.20.77/?<REQ><LOGIN><userID>admin:1234</userID></LOGIN></REQ>'
-> WORKS!

现代浏览器行为:

curl 'http://192.168.20.77/?%3CREQ%3E%3CLOGIN%3E%3CuserID%3Eadmin:1234%3C/userID%3E%3C/LOGIN%3E%3C/REQ%3E'
-> DOES NOT WORK!

是否有任何解决方法可以防止现代浏览器在发送URL之前对URL进行编码?还是Web应用程序的其他替代方法?安全性不是问题,所有事情都在单独的网络本地进行。

不幸的是,修复/更新专有Web服务器不是一种选择。

解决方法

没有客户端解决方法。您唯一可以做的就是向您控制的服务器发出请求,并让它充当转换请求的代理,以便以最终服务器要求的方式破坏URL。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。