【问题标题】:Adding post parameters to request before making the request go somewhere else in Java在将请求发送到 Java 中的其他位置之前向请求添加 post 参数
【发布时间】:2011-01-21 20:36:21
【问题描述】:

在 JSP 页面中,我需要执行以下操作(这是伪代码):

//Attach new POST params to request
//Make the request go to a 3rd party URL

我该怎么做?

我们现在解决这个问题的方式(很糟糕):

//populate and generate an HTML form
//on window.load submit the HTML form (as a POST) to a 3rd party URL

我们希望所有这些都在服务器端完成,而不是让这个 JS hack

【问题讨论】:

  • 您可能需要重新命名。重定向与转发请求非常不同。重定向意味着来自服务器的特定响应代码,客户端看到并重新向新 URL 发出请求。代表客户转发,尤其是到完全不同的域,是另一头野兽。
  • 好的。谢谢,我会让它在技术上不可知,因为我真的不知道我想做的技术性事情叫什么。我只关心实际发生的事情,不希望人们对术语感到困惑。
  • 请注意,这两个答案都建议使用服务器端代理请求的方法(浏览器地址栏中的 URL 指向您自己的站点),而您的初始解决方案基本上是客户端提交(URL 在浏览器地址栏将指向第 3 方 URL)。代理可能根本不是您想要的。
  • 你说得对,我真的不想代理。我希望用户最终到达第 3 方 URL,我只想能够在他们离开时添加几个帖子变量,但帖子变量必须由需要他们放置在页面上的信息的页面生成他们要走了。

标签: java http jsp post


【解决方案1】:

您可以使用URLConnection 发出POST 请求,here 就是一个例子

【讨论】:

    【解决方案2】:

    有很多方法可以发送 HTTP POST。我推荐使用 apache HttpClient 库。

    这是 Stack Overflow 上之前的 question and answers。问题是针对 Andriod 的,但应该可以与 Java 完美配合。

    另一种方法是使用URLConnection 类。我在该问题上发布了答案。

    【讨论】:

      【解决方案3】:

      在 Java 中没有办法做到这一点。您将需要某种代理服务器或 apache 重写规则或类似的东西。 Java 不适合这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 2019-02-02
        相关资源
        最近更新 更多