MatrixRevolutions 2017-04-20 02:56 采纳率: 100%
浏览 4137
已结题

JAVA HTTP POST请求Url过长会出现什么问题

业务场景:项目中要对用户信息进行实名认证,上传参数有用户姓名,电话,身份证号码,身份证正面图片,反面图片。
对身份证正反面图片进行BASE64编码,然后对整个参数进行加密,处理参数之后整个URL后面的参数有38万多个字节,371K.然后用下面的POST方法进行请求服务器,请问大神,这个请求能否成功?

下面那段代码就是post请求的方法,让我困惑的是在执行
URL realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();
这两行代码时,是否就会以这个超长的url去与服务器建立连接?
然后导致连接失败?
求大神指点迷津

public static String sendPostUrl(String url, String param, String charset)
  {
    PrintWriter out = null;
    BufferedReader in = null;
    StringBuffer result = new StringBuffer();
    try
    {
      URL realUrl = new URL(url);

      URLConnection conn = realUrl.openConnection();

      conn.setRequestProperty("accept", "*/*");
      conn.setRequestProperty("connection", "Keep-Alive");
      conn.setRequestProperty("user-agent", 
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

      conn.setDoOutput(true);
      conn.setDoInput(true);

      out = new PrintWriter(conn.getOutputStream());

      out.print(param);

      out.flush();

      in = new BufferedReader(new InputStreamReader(
        conn.getInputStream(), charset));
      String line;
      while ((line = in.readLine()) != null)
      {
        String line;
        result.append(line);
      }
    }
    catch (Exception e)
    {
      e.printStackTrace();
      try
      {
        if (out != null) {
          out.close();
        }
        if (in != null) {
          in.close();
        }
      }
      catch (IOException ex)
      {
      }
    }
    finally
    {
      try
      {
        if (out != null) {
          out.close();
        }
        if (in != null) {
          in.close();
        }
      }
      catch (IOException ex)
      {
      }
    }
    return result.toString();
  }

  • 写回答

3条回答 默认 最新

  • 「已注销」 2017-04-20 03:03
    关注

    post 没有听说过有限制啊~~ 应该没有问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料