HttpURLConnection如何传递参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpURLConnection如何传递参数?相关的知识,希望对你有一定的参考价值。

是http POST方法,在输出流里面写入了照片的字节,但是还需要传递一个type参数,请问HttpURLConnection对象怎么设置?后台是用getParamter方法来获取的

参考技术A 那就看你要简单的还是复杂的。一般来说 http post 是将你提交的数据 丢在 数据包中的。而get 是将你提交的数据丢在 协议头中。而你这样建议你使用 get 方式。

httpURLConnection:post 参数可以有多长?

【中文标题】httpURLConnection:post 参数可以有多长?【英文标题】:httpURLConnection: how long can a post argument be? 【发布时间】:2011-06-14 10:11:24 【问题描述】:

我目前正在使用这样的东西:

 HttpURLConnection con = (HttpURLConnection) u.openConnection ();
     con.setDoInput(true);
     con.setRequestMethod("POST");
    
     con.setDoInput (true);
     con.setDoOutput (true);
     con.setRequestProperty ("Content-Type", "application/x-www-form-urlencoded");
     
        out = new DataOutputStream(con.getOutputStream());
     String content = "username=" + URLEncoder.encode ("bob")
      + "&password=" + URLEncoder.encode ("smith");
     System.out.println("\n" + "sending form to HTTP server ...");
     out.writeBytes (content);
     out.flush ();
     out.close ();
    
     con.connect();

有了这个,我设法将一些数据传递到我的服务器。我现在想知道的是,这种方式可以发送多少?

我希望能够发送一些 xml 文件(100-200 行长)并且想知道我是否可以这样做?

杰森

【问题讨论】:

您实际上应该使用multipart/form-data 编码。另见***.com/questions/2793150/… 【参考方案1】:

帖子正文(通常不称为参数,因为这通常意味着它与 URL 一起传递)可以是任意长度,仅受配置限制。

由于 POST 用于实现文件上传,因此大多数系统都允许使用相当大的主体。 100-200 行根本不成问题,除了最偏执的配置。

【讨论】:

【参考方案2】:

帖子的最大长度通常在服务器配置中配置,而不是在客户端。

【讨论】:

【参考方案3】:

任何长度,请记住您的请求可能会超时。 GET 数据限制为 4096 字节。

【讨论】:

GET 限制主要取决于所使用的网络浏览器,它不是明确的 4096。更重要的是,HTTP 规范规定了 255 的安全限制。另见***.com/questions/2659952/… 实际上是的,4096 我说考虑到特定的配置,你是对的。您所说的 255 是针对 URL 的,而不是针对您获取请求参数的请求。

以上是关于HttpURLConnection如何传递参数?的主要内容,如果未能解决你的问题,请参考以下文章

java Web工程,如何在不传参数的情况下,判断WebService接口是不是开放

java调用Http请求 -HttpURLConnection学习

Android 中使用HttpURLConnection进行网络请求详解

android 如何调用默认浏览器(webservice)打开网页使用post的方式传递参数。

HttpURLConnection实现两个服务端的对接

java中,如何用POST方法将参数传递给第三方网站