Java proxyservlet 将数据发布到另一台服务器

J000S

我需要创建一个将所有传入数据 (XML) 发送到另一台服务器的 java proxyservlet。但是如何将传入的数据发布到远程服务器?

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String server = "http://server.tld";
    String subURI = request.getRequestURI().split("/ProxyServlet")[1];
    System.out.println("ProxyServlet: " + server + subURI);
    URL remoteServer = new URL(server + subURI);
    HttpURLConnection connection = (HttpURLConnection) remoteServer.openConnection();

    //somehow apply request to remoteServer and receive response        
}
J000S

最后我可以在这篇文章的帮助下解决它

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String server = "http://server.tld";
    String subURI = request.getRequestURI().split("/ProxyServlet")[1];      
    System.out.println("ProxyServlet: " + server + subURI);     
    URL remoteServerURL = new URL(server+subURI);
    HttpURLConnection remoteServer = (HttpURLConnection) remoteServerURL.openConnection();
    remoteServer.setRequestMethod("POST");
    remoteServer.setDoOutput(true);
    remoteServer.getOutputStream().write(readBytes(request.getInputStream()));
    response.getOutputStream().write(readBytes(remoteServer.getInputStream()));
}

 /**
   * Read and return the entire contents of the supplied {@link InputStream stream}. This method always closes the stream when
   * finished reading.
   * 
   * @param stream the stream to the contents; may be null
   * @return the contents, or an empty byte array if the supplied reader is null
   * @throws IOException if there is an error reading the content
   */
  private byte[] readBytes( InputStream stream ) throws IOException {
      if (stream == null) return new byte[] {};
      byte[] buffer = new byte[1024];
      ByteArrayOutputStream output = new ByteArrayOutputStream();
      boolean error = false;
      try {
          int numRead = 0;
          while ((numRead = stream.read(buffer)) > -1) {
              output.write(buffer, 0, numRead);
          }
      } catch (IOException e) {
          error = true; // this error should be thrown, even if there is an error closing stream
          throw e;
      } catch (RuntimeException e) {
          error = true; // this error should be thrown, even if there is an error closing stream
          throw e;
      } finally {
          try {
              stream.close();
          } catch (IOException e) {
              if (!error) throw e;
          }
      }
      output.flush();
      return output.toByteArray();
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java套接字:一台服务器和多个客户端

来自分类Dev

PHP发布到另一台服务器,然后返回另一台服务器的响应

来自分类Dev

使用scp将文件从一台服务器复制到另一台服务器时发送密码

来自分类Dev

将mysql数据库从一台服务器移动到另一台服务器

来自分类Dev

使用LINQ将数据从一个表复制到另一台服务器上的另一个表?

来自分类Dev

将Postgres数据库从一台服务器复制到另一台服务器

来自分类Dev

如何将hdfs文件复制到另一台服务器[linux]

来自分类Dev

使用Ansible将文件从一台服务器复制到另一台服务器

来自分类Dev

Java-是否可以将客户端发送到另一台服务器?

来自分类Dev

将数据从一个服务器表复制到另一台服务器的表

来自分类Dev

将ASP.net成员资格数据库从一台服务器移动到另一台服务器

来自分类Dev

bash将数组传递给ssh到另一台服务器

来自分类Dev

将数据从Django发送到另一台服务器

来自分类Dev

错误1045:将SQL数据库从一台服务器传输到另一台服务器

来自分类Dev

将ssh密钥从一台服务器复制到另一台服务器

来自分类Dev

将一台服务器上的PostgreSQL数据库复制到另一台服务器上的MySQL数据库

来自分类Dev

Java代码将文件从一台linux机器复制到另一台linux机器

来自分类Dev

从另一台服务器上的PHP脚本发布到应用程序

来自分类Dev

如何使用PHP从一台服务器接收数据到另一台服务器

来自分类Dev

一台服务器上是否存在Java SSLHandshakeException,而另一台服务器上没有?

来自分类Dev

什么时候将网站删除到另一台服务器?

来自分类Dev

将一台服务器复制到另一台服务器

来自分类Dev

Java代码将文件从一台linux机器复制到另一台linux机器

来自分类Dev

使用node.js,needle,busboy / multer将文件从一台服务器发布到另一台服务器

来自分类Dev

如何将一台服务器的ram磁盘同步到另一台服务器

来自分类Dev

如何将一台 HornnetQ 服务器的消息备份复制到另一台服务器?

来自分类Dev

将 BLOB 从一台服务器复制到另一台服务器

来自分类Dev

通过另一台服务器转发 Java HTTP 请求

来自分类Dev

java中调用在另一台服务器上运行的C函数的最佳方法是什么?

Related 相关文章

  1. 1

    Java套接字:一台服务器和多个客户端

  2. 2

    PHP发布到另一台服务器,然后返回另一台服务器的响应

  3. 3

    使用scp将文件从一台服务器复制到另一台服务器时发送密码

  4. 4

    将mysql数据库从一台服务器移动到另一台服务器

  5. 5

    使用LINQ将数据从一个表复制到另一台服务器上的另一个表?

  6. 6

    将Postgres数据库从一台服务器复制到另一台服务器

  7. 7

    如何将hdfs文件复制到另一台服务器[linux]

  8. 8

    使用Ansible将文件从一台服务器复制到另一台服务器

  9. 9

    Java-是否可以将客户端发送到另一台服务器?

  10. 10

    将数据从一个服务器表复制到另一台服务器的表

  11. 11

    将ASP.net成员资格数据库从一台服务器移动到另一台服务器

  12. 12

    bash将数组传递给ssh到另一台服务器

  13. 13

    将数据从Django发送到另一台服务器

  14. 14

    错误1045:将SQL数据库从一台服务器传输到另一台服务器

  15. 15

    将ssh密钥从一台服务器复制到另一台服务器

  16. 16

    将一台服务器上的PostgreSQL数据库复制到另一台服务器上的MySQL数据库

  17. 17

    Java代码将文件从一台linux机器复制到另一台linux机器

  18. 18

    从另一台服务器上的PHP脚本发布到应用程序

  19. 19

    如何使用PHP从一台服务器接收数据到另一台服务器

  20. 20

    一台服务器上是否存在Java SSLHandshakeException,而另一台服务器上没有?

  21. 21

    什么时候将网站删除到另一台服务器?

  22. 22

    将一台服务器复制到另一台服务器

  23. 23

    Java代码将文件从一台linux机器复制到另一台linux机器

  24. 24

    使用node.js,needle,busboy / multer将文件从一台服务器发布到另一台服务器

  25. 25

    如何将一台服务器的ram磁盘同步到另一台服务器

  26. 26

    如何将一台 HornnetQ 服务器的消息备份复制到另一台服务器?

  27. 27

    将 BLOB 从一台服务器复制到另一台服务器

  28. 28

    通过另一台服务器转发 Java HTTP 请求

  29. 29

    java中调用在另一台服务器上运行的C函数的最佳方法是什么?

热门标签

归档