Java HttpPost到php页面

时间:2014-08-01 14:54:16

标签: java php post http-post

我试图从php代码调用Java页面,因为我有一个长字符串,我必须使用POST方法。 我尝试了以下代码:

HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost(uri[0]);
if (params != null){
    post.setEntity(new UrlEncodedFormEntity(params));
}
response = httpclient.execute(post);
StatusLine statusLine = response.getStatusLine();

还有:

HttpClient httpclient = new DefaultHttpClient();
URL obj = new URL(uri[0]);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Accept-Charset", "UTF-8");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
String urlParameters = "checkout=" + "dfdfdf" + "&location=" + "BOZEN";
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer responsei = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    responsei.append(inputLine);
}
in.close();

两者都获得了php页面,但是当我调用$_POST$_REQUEST时,它们都是空数组。如果我使用HttGet,我会在$_GET中找到传递的值... 我想这个问题是以正确的方式将params设置为Post ....但是怎么样?

1 个答案:

答案 0 :(得分:0)

解决。我不知道原因,但仅当我从www移除URL时才有效...