import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/*服务请求帮助类
Author :William(徐威)
Create Time:2018-07-21*/
public class HttpHelper {
private static String apiUrl = "http://192.168.0.102/Eson.Store.Host/";
public static String sendJsonPost(String Json, String method) {
// HttpClient 6.0被抛弃了
String result = "";
BufferedReader reader = null;
try {
String urlPath = apiUrl + method;
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charset", "UTF-8");
// 设置文件类型:
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
// 设置接收类型否则返回415错误
//conn.setRequestProperty("accept","*/*")此处为暴力方法设置接受所有类型,以此来防范返回415;
conn.setRequestProperty("accept", "application/json");
// 往服务器里面发送数据
if (Json != null && !TextUtils.isEmpty(Json)) {
byte[] writebytes = Json.getBytes();
// 设置文件长度
conn.setRequestProperty("Content-Length", String.valueOf(writebytes.length));
OutputStream outwritestream = conn.getOutputStream();
outwritestream.write(Json.getBytes());
outwritestream.flush();
outwritestream.close();
Log.d("hlhupload", "doJsonPost: conn" + conn.getResponseCode());
if (conn.getResponseCode() == 200) {
reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
result = reader.readLine();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
return result;
Android
客户端
请求
服务
器端的详细解释
1.
Android
客户端与
服务
器端通信方式:
Android
与
服务
器通信通常采用HTTP通信方式和Socket通信方式,而HTTP通信方式又分get和
post
两种方式。
2. 解析
服务
器端返回数据的解释:
(1).对于
服务
器端来说,返回给客户端的数据
格式
一般分为html、xml和
json
这三种
格式
。
(2).
JSON
(Javascript Object Notation)是一种轻量级的数据交换
格式
,相比于xml这种数据交换
格式
来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和
服务
器的数据交换
格式
往往通过
JSON
来进行交换
Android
6.0版本废弃了老的网络
请求
,那么它的优势是什么呢?
1,支持SPDY,共享同一个Socket来处理同一个
服务
器的所有
请求
2,如果SPDY不可用,则通过连接池来减少
请求
延时
3,无缝的支持GZIP来减少数据流量
4,缓存响应数据来减少重复的网络
请求
post
请求
发送
给
服务
器
JSON
:
我们先来看一个样例,详细的
请求
发送
我们下面还会讲.
设置完成了
请求
头之后就可以将数据写入到缓存,也就是获取conn的输出流,然后write我们拼接好的数据,刷新关闭流就可以了;然后让项目同步下载一下就可以使用gson这个工具了;又是通过字符串的方式来传递的,所以在网络通讯中有很大的用途;我们先要将
请求
方式设置为
POST
,然。1、
发送
post
请求
。2、
Json
数据
格式
。
1)先确认自己的
请求
信息和函数使用正确。包括
请求
头、
请求
体和参数传递。
2)看
服务
端的日志,如果
服务
端的日志当中收到了这2个
请求
的
请求
数据,看日志中提示什么错误并比对一下2份
请求
数据的不同,顺便有需要找开开聊聊。
基于此,来说说requests中
发送
json
格式
的处理。
1、
json
数据
格式
的
请求
头
在
post
请...
我正在使用下面的代码
发送
http
POST
请求
,该
请求
将对象
发送
到WCF
服务
。可以,但是如果我的WCF
服务
还需要其他参数怎么办?如何从
Android
客户端
发送
它们?这是我到目前为止编写的代码:StringBuilder sb = new StringBuilder();String http = "http://
android
.schoolportal.gr/Service.svc/SaveVal...
在最近的项目中有个需求是这样的:入参封装成
JSON
,EXAMPLE:{ "uuid": "iamauuid","clientType": "AND","content": "{\"gender\":\"F\",\"name\":\"TTT\"}"}其中content中是
json
的object,且要求把content中特殊的字符进行转义。主要代码如下:/***
post
请求
用
json
的
格式
传递数据给...
分别给出了
post
发送
文件和
json
数据的函数,其中使用到了Jackson库来转化
Json
数据,使用log4j2来打印日记,可自行剔除。
public class HttpUtils {
static private ObjectMapper objectMapper=new ObjectMapper();
static private Logger logger= LogMana...
public static finalMediaType
JSON
= MediaType.parse("application/
json
; charset=utf-8");private voidmodifyNickName(String newNickName) {showProgressDialog(R.string.loading);OkHttpClient client =newOkHtt...
获取MediaType对象,类型为application/
json
,字符集为utf-8
通过RequestBody.create()方法创建
JSON
请求
主体
创建
请求
对象,需要往
请求
头里添加参数也是在这里添加
执行
请求
//创建一个OkHttpClient对象
OkHttpClient okHttpClient = new OkHttpClient();
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
试试这个叫
POST
请求
public class Send
Post
Request extends AsyncTask {protected void onPreExecute(){}protected String doInBackground(Void... arg0) {try {URL url = new URL("MY URL comes here"); // here is your UR...