httpPost对JSON发送和接收
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
public static String postURL(String commString, String address, String encode) {
String rec_string = "";
URL url = null;
HttpURLConnection urlConn = null;
try {
/*得到url地址的URL类*/
url = new URL(address);
/*获得打开需要发送的url连接*/
urlConn = (HttpURLConnection) url.openConnection();
/*设置连接超时时间*/
urlConn.setConnectTimeout(30000);
/*设置读取响应超时时间*/
urlConn.setReadTimeout(30000);
/*设置post发送方式*/
urlConn.setRequestMethod("POST");
/*发送commString*/
urlConn.setDoOutput(true);
urlConn.setDoInput(true);
OutputStreamWriter out;
out = new OutputStreamWriter(urlConn.getOutputStream(), encode);
out.write(commString);
out.flush();
out.close();
/*发送完毕 获取返回流,解析流数据*/
BufferedReader rd = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), encode));
StringBuffer sb = new StringBuffer();
int ch;
while ((ch = rd.read()) > -1) {
sb.append((char) ch);
}
rec_string = sb.toString().trim();
/*解析完毕关闭输入流*/
rd.close();
} catch (Exception e) {
/*异常处理*/
rec_string = "-107";
System.out.println(e);
} finally {
if (urlConn != null) {
/*关闭URL连接*/
urlConn.disconnect();
}
}
/*返回响应内容*/
return rec_string;
}
上面是另一种方式的请求
下面是httpost:
HTTPPost发送JSON:
private
static
final String APPLICATION_JSON = "application/json";
private static final String CONTENT_TYPE_TEXT_JSON = "text/json";
public static void httpPostWithJSON(String url, String json) throws Exception {
// 将JSON进行UTF-8编码,以便传输中文
String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
StringEntity se = new StringEntity(encoderJson);
se.setContentType(CONTENT_TYPE_TEXT_JSON);
se.setContentEncoding( new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
httpPost.setEntity(se);
httpClient.execute(httpPost);
}
private static final String CONTENT_TYPE_TEXT_JSON = "text/json";
public static void httpPostWithJSON(String url, String json) throws Exception {
// 将JSON进行UTF-8编码,以便传输中文
String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
StringEntity se = new StringEntity(encoderJson);
se.setContentType(CONTENT_TYPE_TEXT_JSON);
se.setContentEncoding( new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
httpPost.setEntity(se);
httpClient.execute(httpPost);
}
接收HTTPPost中的JSON:
public
static String receivePost(HttpServletRequest request)
throws IOException, UnsupportedEncodingException {
// 读取请求内容
BufferedReader br = new BufferedReader( new InputStreamReader(request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine())!= null){
sb.append(line);
}
// 将资料解码
String reqBody = sb.toString();
return URLDecoder.decode(reqBody, HTTP.UTF_8);
}
// 读取请求内容
BufferedReader br = new BufferedReader( new InputStreamReader(request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine())!= null){
sb.append(line);
}
// 将资料解码
String reqBody = sb.toString();
return URLDecoder.decode(reqBody, HTTP.UTF_8);
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)