我已经查看了堆栈溢出的不同线程并做了一些研究,我无法在进行http连接后在java中运行此代码。 相同的命令在命令行中完全正常
curl -X POST --header "Content-Type: application/json" --header "Accept: */*" -d "data" "http://a url"
我需要一个用于上面curl命令的java代码,我一直无法想出任何值得的东西
答案 0 :(得分:4)
对于仍在寻找的人
{String urly = "your url";
URL obj = new URL(urly);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type","application/json");
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(the data string);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
System.out.println("Response Code : " + responseCode);
BufferedReader iny = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String output;
StringBuffer response = new StringBuffer();
while ((output = iny.readLine()) != null) {
response.append(output);
}
iny.close();
//printing result from response
System.out.println(response.toString());
}
答案 1 :(得分:0)
如果您正在使用RESTful Web服务,我会选择Jersey客户端。
RESTful Java client with JerseyClient
如果您需要更多控制权,可以使用HttpClient
HttpClient posting http requests
我可能会避免使用HttpUrlConnection,除非你喜欢关闭它。