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请求...................................................................
常见的联网请求方式有两种:HttpURLConnection和HttpClient。下面将详细讲解这两种方法,以及它们如何处理POST和GET请求。 **HttpURLConnection** HttpURLConnection是Java标准库提供的类,自Android 2.3(API级别9...
本文将详细介绍如何使用`HttpURLConnection`和`HttpClient`这两种方式来实现这一目标。 首先,让我们从`HttpURLConnection`开始。`HttpURLConnection`是Java内置的HTTP客户端,它简单且易于使用,适用于轻量级的...
本项目"Android25图灵聊天项目------HttpURLConnection请求get文本数据"聚焦于如何通过HttpURLConnection实现HTTP GET请求,获取服务器上的文本数据。以下是对这个项目的详细解读。 首先,我们要了解HTTP GET请求的...
1. **建立连接**:创建URL对象并打开与之对应的HttpURLConnection对象。 ```java URL url = new URL("http://example.com/service"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); ``...
- 接下来,使用 HttpClient 执行 GET 请求,并获取响应。最后,将响应体转换为 JSON 对象返回。 4. **POST 请求**: - `doPostJson` 方法类似,但使用 `HttpPost` 对象。它创建一个 `HttpPost` 实例,并设置请求...
请求http及数据返回解析,HttpURLConnection,HttpClient请求http及数据返回解析,HttpURLConnection,HttpClient
在Android应用开发中,进行网络通信是常见的任务,其中两种主要的请求方式是使用`HttpURLConnection`和`HttpClient`。虽然两者都能实现HTTP通信,但它们在功能、使用方式和性能上存在一些区别。 首先,Apache ...
然而,需要注意的是,自Android 6.0(API级别23)开始,HttpClient已被弃用,推荐使用更现代的`HttpURLConnection`或者第三方库,如OkHttp。尽管如此,理解HttpClient的使用对于了解网络请求的历史和基础概念仍然很...
现在你可以像之前一样使用这个配置了忽略SSL验证的HttpClient执行请求。 这个实例中的"test"文件可能是用来测试上述代码的。在实际应用中,你需要根据你的需求替换URL,并确保在生产环境中恢复SSL验证,以保证安全...
Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!
`httpURLConnectionPOST()`方法展示了POST请求的处理方式,通过设置`setDoOutput(true)`开启输出流,但示例中并未写入实际的POST数据。 在实际应用中,可能需要添加更多的配置,比如设置请求头(如`Content-Type`,...
本文将深入探讨Android中常见的网络请求方式,包括HTTPClient、HttpURLConnection和Socket,以及它们的使用场景和优缺点。 首先,我们来谈谈HTTPClient。Apache的HttpClient库在早期的Android版本中被广泛使用,它...
作为HttpClient的替代品,HttpUrlConnection是Android SDK内置的另一种HTTP请求方式。相比HttpClient,HttpUrlConnection更轻量级,性能更好,且更易于控制连接管理。使用HttpUrlConnection,开发者需要通过URL....
本篇文章将深入探讨如何基于HttpUrlConnection实现一个自定义的网络请求框架。HttpUrlConnection是Android系统提供的一个基础网络通信接口,相较于其他如Volley、OkHttp等第三方库,它更轻量级,适合对性能有较高...
在Java开发领域,HttpClient是一个广泛使用的库,尤其在处理HTTP请求与响应时。HttpClient 4.2.1是这个库的一个稳定版本,提供了丰富的功能和优化,使得开发者能够高效、可靠地执行HTTP操作。本文将深入探讨...
五、HttpClient与HttpURLConnection的对比 虽然Java内置的HttpURLConnection也可以执行HTTP请求,但在某些高级特性和易用性方面,HttpClient具有显著优势,如更灵活的连接管理、更完善的错误处理以及更好的性能。 ...
在Java编程中,HTTPURLConnection是Java标准库提供的一种用于处理HTTP连接的类,它允许我们发送HTTP请求并接收响应。然而,HTTP协议本身是无状态的,这意味着每次请求都是独立的,不会记住之前的交互,这对于需要...
本例子是关于如何将`AsyncTask`与`HttpURLConnection`结合,实现一个简单的网络请求。 `AsyncTask`是Android提供的轻量级异步任务框架,它允许开发者在后台线程执行耗时操作,并在主线程更新UI。`AsyncTask`包含三...