HttpURLConnection是java的标准类,HttpURLConnection继承自URLConnection,可用于向指定网站发送GET请求、POST请求。
/**
* http post请求并接收返回的参数
* @param ur:请求的路径
* @param data:请求的参数
* @return
* @throws IOException
*/
public static String doPost(String url, String data) throws IOException {
URL getUrl = new URL(url);
//创建一个链接
HttpURLConnection conn = (HttpURLConnection) getUrl.openConnection();
//post请求必须设置这两个属性
//设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true, 默认情况下是false;《设置请求参数》
conn.setDoOutput(true);
//设置是否从httpUrlConnection读入,默认情况下是true;《接收请求返回的数据》
conn.setDoInput(true);
//设置请求方式
conn.setRequestMethod("POST");
//设置是否使用缓存,post请求不能使用缓存
conn.setUseCaches(false);
//设置只作用于当前的实例
conn.setInstanceFollowRedirects(true);
//设置请求参数格式
conn.setRequestProperty("Content-Type", "text/xml");
//设置格式为utf-8,防止乱码
conn.setRequestProperty("Accept-Charset", "utf-8");
conn.setRequestProperty("contentType", "utf-8");
//将请求参数转换为byte字节
byte[] byteData = data.getBytes("utf-8");
//打开连接
conn.connect();
//建立一个数据输出流
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
//将请求参数写入流,刷新提交关闭流
out.write(byteData);
out.flush();
out.close();
//建立一个数据读取流,读取连接返回的数据
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
StringBuilder result = new StringBuilder();
//循环读取返回的数据
String inputLine;
while ((inputLine = bufferedReader.readLine()) != null) {
result = result.append(inputLine);
}
bufferedReader.close();
conn.disconnect();
return result.toString();
}
分享到:
相关推荐
HttpURLConnection请求和HttpClient请求...................................................................
里面详细的写了post和get和HttpPost和HttpGet请求
请求http及数据返回解析,HttpURLConnection,HttpClient请求http及数据返回解析,HttpURLConnection,HttpClient
Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!
本文并不针对HTTP协议的具体内容,仅探讨android开发中使用HTTP协议访问网络的两种方式——HttpURLConnection和HttpClient 因为需要访问网络,需在AndroidManifest.xml中添加如下权限 2.HttpURLConnect
以上自己测试是可行的,直接拿过去导入即可,直接用main
此代码为网络请求的工具类 包含原生的HttpClient 、HttpUrlConnection以及Xutils 和Volley框架的网络请求。
安卓开发 网络请求实现类,包括HttpClient get/post 请求,和 HttpUrlConnection的操作!
HttpURLConnection与HttpClient的区别: HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大。 HttpURLConnection是java的标准类,可以...
HTTP 请求一般采用原生的 HttpClient 和 HttpUrlConnection 的两种网络访问方式。可是在 Android 5.0 的时候 Google 就不推荐使用 HttpClient 了,到了 Android 6.0 (api 23) SDK,不再提供 org.apache.http.* (只...
目录前言正文OkHttp使用示例源码解析Apache HttpClient使用示例源码解析GoogleHttpClient哪个更香?总结声明 前言 前八篇文章介绍完了feign-core核心内容,从本篇开始将介绍它的“其它模块”。其实核心模块可以独立...
两种Http请求方法,第一种HttpURLConnection请求,第二种HttpClient请求
1):HttpClient 方式获取网络数据 2): HttpURLConnection 使用原始方式获取数据 3): Volley 方式实现图片加载 4):XUtil方式获取网络 5):ImageLoader 方式加载图片 6):OkHttp 方式获取网络请求。
http请求网络的demo,实现httpUrlConnection与httpClient两种请求方式,并对返回数据进行解析,解析xml和JSON两种格式的数据。
在android项目中,经常需要用到网络,而在联网之前前,我们都要做一次网络的判断,判断当前的网络状态是否可用,然后开始请求网络。 android中请求网络方式有:HttpURLConnection和HttpClient
httplient向https发送请求会因为证书校验而报错,该工具类提供绕开HTTPS证书校验方法,以实现访问https网站的功能
Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。以下是学习中的一些经验。 1、HttpURLConnection接口 首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,...
问题的阐述:Android SDK中的HttpClient和HttpUrlConnection两种请求方式用来处理网络的复杂的操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等; 解决:Volley就是为...
android网络请求框架之OkHttp,一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient,但仍可引入Jar包使用)。 OkHttp是一个...