public String Post(String content, String charset, String url) {
        try {
            URL u = new URL(url);
            HttpURLConnection http = (HttpURLConnection) u.openConnection();
            
            /*
            http.setDoOutput(true);
            http.setDoInput(true);
            http.setRequestMethod("POST");
            http.setConnectTimeout(50000);
            http.setReadTimeout(50000);
            http.connect();
            
            OutputStream output = http.getOutputStream();
            output.write(content.getBytes());
            output.flush();
            output.close();
            */
            
            //如果吧注释取消掉就出现了严重: null
java.io.IOException: Server returned HTTP response code: 500 for URL: 问题出在哪呢
            System.out.println(http.getResponseCode());
            StringBuilder sb = new StringBuilder();
            BufferedReader in;
            if (charset != null) {
                in = new BufferedReader(new InputStreamReader(http.getInputStream(), charset));
            } else {
                in = new BufferedReader(new InputStreamReader(http.getInputStream()));
            }            String line = "";
            while ((line = in.readLine()) != null) {
                sb.append(line).append("\n");
            }
            in.close();
            http.disconnect();
            return sb.toString();
        } catch (Exception ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            System.out.println(url + " Post ");
            return null;
        }
    }

解决方案 »

  1.   

    检验下你的URL格式是什么样的?
      

  2.   

    还有就是你连接的URL里边的处理方法
      

  3.   

    1,2楼的url没什么问题content = "tag=test&cid=9&content=test&key1=aa&key2=aa";// 这样POST能成功
    content = "tag=test&cid=9&content=test";       // 这样POST能成功    
    content = "tag=test&cid=9&content=test&title=aa";// 这样POST 就出现一楼的异常 这个title 加上去就出问题了,这是怎么回事呢,是我的post文件有问题还是,我的JAVA HTTP有问题?
      

  4.   

    你在后台处理 这个请求时 是不是要接收这个title 参数 处理?还是你写了一个统一的 参数处理类,对不存在的参数  抛出了 500
      

  5.   


    POST文件是ASP的cid = Request.Form("cid")
    title = Request.Form("title")
    content = Request.Form("content")
    tag = Request.Form("tag")
    WriteTime = Now()If title = "" Then
    Response.Write " error" & Request.Form("title")
    Response.End()
    Else
    qqhl_insert()
    End If这是我的代码
      

  6.   

    If title = "" Then
        Response.Write " error" & Request.Form("title")
        Response.End()
    Else应该 是 ==
      

  7.   

    URL url = new URL(urlString);
    URLConnection con = url.openConnection();
    con.setUseCaches(false);
    con.setDoOutput(true);
    con.setDoInput(true);
    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),"UTF-8"));
    out.write(xmlString);
    out.flush();
    out.close();试试看,
    con.setDoOutput(true);
    con.setDoInput(true);
    才能post
      

  8.   


    混 了  如果那样的话 你试过 跟踪 你的后台看看能执行到 什么地方?比如在必要的地方 将内容打印到 后台 看看有没有地方有错啊 如果你的URL只有在加了title参数 后出现错误  那么一定就是这里有问题 了吧
      

  9.   


    怎样跟踪后台我加了title 参数后            content = "tag=test&cid=9&content=test&title=aa";
                System.out.println(content);
                OutputStream output = http.getOutputStream();
                output.write(content.getBytes());
                output.flush();
                output.close();            System.out.println(http.getInputStream());// 这里就是null了
      

  10.   


    搞了半天是我的asp文件出问题了