我正试图用android应用程序向我的web服务器发送一个Json对象。我发现的每个示例都使用了被android 6删除的HttpClient。有人能给我举一个HttpURLConnection方法的例子吗。
以下是如何使用HttpURLConnection的示例:
JSONObject json = getJSONData();
String targetURL = getTargetURL();
HttpURLConnection con = (HttpURLConnection)new URL(targetURL).openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json");
con.setChunkedStreamingMode(0);
StringBuilder output = new StringBuilder();
output.append("data=");
output.append(URLEncoder.encode(data.get(json.toString()), "UTF-8"));
BufferedOutputStream stream = new BufferedOutputStream(con.getOutputStream());
stream.write(output.toString().getBytes());
out.flush();
con.connect();
Exception result = null;
int responseCode = con.getResponseCode();
switch(responseCode) {
case 200: //all ok
break;
case 401:
case 403:
// authorized
break;
default:
//whatever else...
String httpResponse = con.getResponseMessage();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getErrorStream()));
String line;
try {
while ((line = br.readLine()) != null) {
Log.d("error", " " + line);
}
}
catch(Exception ex) {
//nothing to do here
}
break;
}
con.disconnect();
也就是说,您应该认真考虑使用现有的库,这将对您隐藏其中的大部分内容。
问题内容: 我想发送以下JSON文本 到Web服务并读取响应。我知道如何读取JSON。问题是上述JSON对象必须以变量名发送。 我该如何从android做到这一点?创建请求对象,设置内容标头等步骤是什么。 问题答案: Android没有用于发送和接收HTTP的特殊代码,您可以使用标准Java代码。我建议使用Android随附的Apache HTTP客户端。这是我用来发送HTTP POST的代码片段
问题内容: 我想将JSON文本{}发送到Web服务并读取响应。我该如何从android做到这一点?创建请求对象,设置内容标头等步骤是什么。 我的代码在这里 我做过什么错误,请纠正我,因为它向我显示了错误的请求错误,但是当我在海报中发帖时,它向我显示了成功200的状态 问题答案: 我这样做 此外,还将Web服务URL作为参数。
应用程序(Android): 在我运行这个应用程序的手机中,我嗅出了数据,我看到应用程序向服务器发送了一个请求,但数据包不包含json
问题内容: 我想使用POST方法将JSONObject发送到服务器。我已经使用凌空库通过字符串参数来正常工作,但是如果我尝试使用json对象,则在调用json对象时显示错误,这是我的代码 我的错误表单服务器是: 如何解决这个问题呢。我要添加 标题,请检查我的代码是否正确。请给我一个解决这个问题的建议 问题答案: JsonObjectRequest中的第三个参数用于以jsonobject形式传递发布
资源 ComplexObject类只是一个带有字符串的类。当我点击URL:http://localhost:8080/simple-service-webapp/webapi/myresource/This work时,我得到的是“get it!” 但是当我点击:http://localhost:8080/simple-service-webapp/webapi/myresource/comple
我想发送一个JSON对象(注意,它不应该转换成字符串,因为服务器端代码是基于Spring starter项目的,它的params为(@requestbody PCAP PCAP))我有下面的代码,但它将主体转换成一个字符串,这给了我400个错误的请求。 注意:服务器端代码为