如何使用开源Http框架:YesHttp
YesHttpEngine.getYesHttpEngine()。send(request);
这是使用YesHttp框架发送POST请求的方法
Request request = new StringRequest(HttpMethod.POST, "URL", new
TextBaseResponseListener() {
@Override
public void responseMe(final String msg) {
Log.d("the response of success:" + msg);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(final YesHttpError error
) {
Log.e("this is the response of error:" + error.getMessage());
}
}, null, HTTP_HTTPS_PROTOCOL
) {
@Override
public void getParams(Map<String, String> requestData) {
requestData.put("PostParameter1", "value1");
requestData.put("PostParameter2", "value2");
requestData.put("PostParameter3", "value3");
}
};
YesHttpEngine.getYesHttpEngine().send(request);
这是如何使用YesHttp框架发送JSON请求
Request request = new JsonRequest("https://www.serverURL.com/", new
TextBaseResponseListener() {
@Override
public void responseMe(final String msg) {
Log.d("the response>>>:" + msg);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(final YesHttpError error) {
Log.e(" onErrorResponse"+error);
}
}, null, HTTP_HTTPS_PROTOCOL) {
JSONObject jSONObject = new JSONObject();
@Override
public String JsonBodyBuilder() {
//please add values into jSONObject before you return it
return jSONObject.toString();
}
};
YesHttpEngine.getYesHttpEngine()
.send(request);
如何将Http标头添加到YesHttp请求:
Request request = new
StringRequest(HttpMethod.POST,"https://www.serverURL.com/", new
TextBaseResponseListener() {
@Override
public void responseMe(final String msg) {
Log.d("the response>>>:" + msg);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(final YesHttpError error) {
Log.e(" onErrorResponse"+error);
}
}, null, HTTP_HTTPS_PROTOCOL) {
@Override
public void getHeaders(Map<String, String> headers) {
//please add all headers you want to :headers parameter, it is not null always, no nullpointer exception
headers.put("headerName","Value");
}
};
YesHttpEngine.getYesHttpEngine().send(request);
如何使用YesHttp发送Http Get请求:
Request request = new StringRequest(HttpMethod.GET, "THE_URL", new TextBaseResponseListener() {
@Override
public void responseMe(final String msg) {
Log.d("the response of success:" + msg);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(final YesHttpError error
) {
Log.e("this is the response of error:" + error.getMessage());
}
}, null, HTTP_HTTPS_PROTOCOL
) ;
YesHttpEngine.getYesHttpEngine().send(request);
如何处理YesHttp响应中的响应头
Request request = new StringRequest(HttpMethod.POST,"https://www.serverURL.com/", new TextBaseResponseListener() {
@Override
public void responseMe(final String msg) {
Log.d("the response>>>:" + msg);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(final YesHttpError error) {
Log.e(" onErrorResponse"+error);
}
}, null, HTTP_HTTPS_PROTOCOL) {
@Override
public void processResponseHeaders(Map<String, List<String>> headers) {
if (headers == null || headers.isEmpty()) {
return;
}
Set<String> kys = headers.keySet();
if (kys == null || kys.isEmpty()) {
return;
}
for (String key : kys) {
System.out.println("response header name:"+key+", value:"+ headers.get(key));
}
}
};
YesHttpEngine.getYesHttpEngine().send(request);