【问题标题】:Java Post Data HttpsUrlConnection or HttpClient 4.5Java Post 数据 HttpsUrlConnection 或 HttpClient 4.5
【发布时间】:2015-11-10 15:37:05
【问题描述】:

我正在尝试做我认为很简单的任务。我需要将数据发布到 PHP 服务器。我尝试过this solution,但在 Apache HttpClient 4.5 中我在包中找不到 BasicNameValuePair。经过进一步研究,我想我会尝试 StringEntity ......不,也不在 4.5 中(我至少可以找到)。所以我试着用 HttpsURLConnection 来做。问题是我不知道如何为参数添加名称和名称,我不知道如何在 PHP 中使用 $_POST['name'] 进行访问。

我当前的代码:

String json = gson.toJson(data);
URL url = new URL("https://www.domain.com/test.php");

HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", String.valueOf(json.length()));
OutputStream os = conn.getOutputStream();
os.write(json.getBytes());

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String decodedString;
while ((decodedString = in.readLine()) != null) {
    System.out.println(decodedString);
}
in.close();

【问题讨论】:

    标签: java post apache-httpclient-4.x httpsurlconnection


    【解决方案1】:

    尝试使用 DataOutputStream 并在之后刷新它。

    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeChars(json);
    wr.flush();
    wr.close();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-19
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多