无法使用Java发送POST

时间:2012-04-03 00:48:09

标签: java http post

我已经阅读了其他优秀的堆栈溢出文章,并尝试了很多它们和它们的变体,但必须一次又一次地做出一些基本的错误?我发布的页面可以正常工作,但是当我运行我的java程序时,我只是在mySQL数据库上得到一个空集,数据正在发布到。有效的直接网址是:

http://myURL.co.uk/enteremail.php?email=value

代码

        String data = URLEncoder.encode("email", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");         

        URL url = new URL("http://myURL.co.uk/enteremail.php");
        URLConnection conn = url.openConnection();
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();         
        wr.close();

我知道有更好的方法可以使用java进行此操作,但我必须使用这种方式作为另一个问题的解决方法。

TIA

2 个答案:

答案 0 :(得分:0)

您还需要关闭网址连接。

我建议您查看Apache Http客户端,它将为您完成所有繁重的任务。

答案 1 :(得分:0)

我仍然想知道我的原始代码是什么,但是因为我想要做的就是这么简单我只是剪了一个角落并完成了这个用于将发布请求发送到php页面但是可能不是其他任何解决方案:

        String email = "myEmail";
        URL post= new URL("http://myURL.co.uk/enteremail.php?email="+email);
        URLConnection goPost = post.openConnection();
        new InputStreamReader(goPost.getInputStream()); 

希望对其他人有所帮助,KISS