在浏览器中发送不符合RFC的HTTP请求

时间:2013-06-18 19:25:38

标签: java silverlight http plugins browser

我需要在浏览器中发送不符合RFC的HTTP请求。我需要在不编码URL的情况下发送GET请求。我不希望将空格编码为%20。我知道浏览器不应该发送这样的请求,但这正是我对项目所需要的。

我想过使用以下想法:

  1. XHR - 自动执行URL编码,无法对其进行操作。
  2. Java / Silverlight applet - 在新的浏览器选项卡中打开URL不允许传递未编码的URL。据我所知,applet只是将URL地址传递给浏览器,而它是打开它的浏览器。
  3. Java / Silverlight applet - 发送原始HTTP请求并尝试在浏览器选项卡中显示结果。可能吗?如果是这样,浏览器会将响应视为有效的源服务器响应吗?我需要使用包含(在服务器响应中)脚本来访问DOM,因此它无法破坏SOP。
  4. 样品申请:
        获取资源abc HTTP / 1.1
        主持人:example.com

1 个答案:

答案 0 :(得分:0)

在HTTP标头中,它看起来像 获取http://www.stackoverflow.com/ HTTP1.1

如果您没有转义URL中的空格,它将破坏HTTP标头。没有HTTP兼容的服务器将能够理解该请求。

但是,如果您有合理的理由这样做,您只需将数据写入套接字并将其发送到服务器即可。有关更多信息,请参阅Oracle教程中的Java套接字。