`
wangduorong
  • 浏览: 49977 次
社区版块
存档分类
最新评论

HttpClient与HttpURLConnection的请求方式

    博客分类:
  • http
阅读更多

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请求...................................................................

    android 联网请求的两种方式HttpURLConnection和HttpClient

    常见的联网请求方式有两种:HttpURLConnection和HttpClient。下面将详细讲解这两种方法,以及它们如何处理POST和GET请求。 **HttpURLConnection** HttpURLConnection是Java标准库提供的类,自Android 2.3(API级别9...

    使用HttpURLConnection或HttpClient方式传json值到spring中

    本文将详细介绍如何使用`HttpURLConnection`和`HttpClient`这两种方式来实现这一目标。 首先,让我们从`HttpURLConnection`开始。`HttpURLConnection`是Java内置的HTTP客户端,它简单且易于使用,适用于轻量级的...

    Android25图灵聊天项目------HttpURLConnection请求get文本数据

    本项目"Android25图灵聊天项目------HttpURLConnection请求get文本数据"聚焦于如何通过HttpURLConnection实现HTTP GET请求,获取服务器上的文本数据。以下是对这个项目的详细解读。 首先,我们要了解HTTP GET请求的...

    HttpUrlConnection请求WebService.rar

    1. **建立连接**:创建URL对象并打开与之对应的HttpURLConnection对象。 ```java URL url = new URL("http://example.com/service"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); ``...

    http请求工具类HttpClientUtil,get,post请求(csdn)————程序.pdf

    - 接下来,使用 HttpClient 执行 GET 请求,并获取响应。最后,将响应体转换为 JSON 对象返回。 4. **POST 请求**: - `doPostJson` 方法类似,但使用 `HttpPost` 对象。它创建一个 `HttpPost` 实例,并设置请求...

    请求http及数据返回解析,HttpURLConnection,HttpClient

    请求http及数据返回解析,HttpURLConnection,HttpClient请求http及数据返回解析,HttpURLConnection,HttpClient

    httpClient和URLConnection的区别

    在Android应用开发中,进行网络通信是常见的任务,其中两种主要的请求方式是使用`HttpURLConnection`和`HttpClient`。虽然两者都能实现HTTP通信,但它们在功能、使用方式和性能上存在一些区别。 首先,Apache ...

    HttpClient异步请求数据

    然而,需要注意的是,自Android 6.0(API级别23)开始,HttpClient已被弃用,推荐使用更现代的`HttpURLConnection`或者第三方库,如OkHttp。尽管如此,理解HttpClient的使用对于了解网络请求的历史和基础概念仍然很...

    httpClient实例httpClient调用 http/https实例 忽略SSL验证

    现在你可以像之前一样使用这个配置了忽略SSL验证的HttpClient执行请求。 这个实例中的"test"文件可能是用来测试上述代码的。在实际应用中,你需要根据你的需求替换URL,并确保在生产环境中恢复SSL验证,以保证安全...

    Android客户端向服务器端请求数据的两种方式:HTTPURLConnection、HTTPClient,以json数据的解析

    Android客户端向服务器端请求数据的两种主要方式:HTTPURLConnection、HTTPClient;内含客户端与服务器端Demo(带有详细注释),原生方式解析json数据,希望大家多多批评指教!!

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    `httpURLConnectionPOST()`方法展示了POST请求的处理方式,通过设置`setDoOutput(true)`开启输出流,但示例中并未写入实际的POST数据。 在实际应用中,可能需要添加更多的配置,比如设置请求头(如`Content-Type`,...

    Android网络请求

    本文将深入探讨Android中常见的网络请求方式,包括HTTPClient、HttpURLConnection和Socket,以及它们的使用场景和优缺点。 首先,我们来谈谈HTTPClient。Apache的HttpClient库在早期的Android版本中被广泛使用,它...

    网络请求工具类

    作为HttpClient的替代品,HttpUrlConnection是Android SDK内置的另一种HTTP请求方式。相比HttpClient,HttpUrlConnection更轻量级,性能更好,且更易于控制连接管理。使用HttpUrlConnection,开发者需要通过URL....

    Android网络请求框架基于HttpUrlConnection的封装

    本篇文章将深入探讨如何基于HttpUrlConnection实现一个自定义的网络请求框架。HttpUrlConnection是Android系统提供的一个基础网络通信接口,相较于其他如Volley、OkHttp等第三方库,它更轻量级,适合对性能有较高...

    httpclient4.2.1.zip

    在Java开发领域,HttpClient是一个广泛使用的库,尤其在处理HTTP请求与响应时。HttpClient 4.2.1是这个库的一个稳定版本,提供了丰富的功能和优化,使得开发者能够高效、可靠地执行HTTP操作。本文将深入探讨...

    httpclient jar包

    五、HttpClient与HttpURLConnection的对比 虽然Java内置的HttpURLConnection也可以执行HTTP请求,但在某些高级特性和易用性方面,HttpClient具有显著优势,如更灵活的连接管理、更完善的错误处理以及更好的性能。 ...

    java实现多次HttpURLConnection共享session

    在Java编程中,HTTPURLConnection是Java标准库提供的一种用于处理HTTP连接的类,它允许我们发送HTTP请求并接收响应。然而,HTTP协议本身是无状态的,这意味着每次请求都是独立的,不会记住之前的交互,这对于需要...

    AsyncTask结合HttpUrlConnection的例子

    本例子是关于如何将`AsyncTask`与`HttpURLConnection`结合,实现一个简单的网络请求。 `AsyncTask`是Android提供的轻量级异步任务框架,它允许开发者在后台线程执行耗时操作,并在主线程更新UI。`AsyncTask`包含三...

Global site tag (gtag.js) - Google Analytics