`
onlyor
  • 浏览: 379969 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

HTTP访问的两种方式(HttpClient和HttpURLConnection)

    博客分类:
  • java
阅读更多

直接上代码

 

使用HttpClient

NameValuePair nameValuePair1 = new BasicNameValuePair("name", "yang");
NameValuePair nameValuePair2 = new BasicNameValuePair("pwd","123123");
List nameValuePairs = new ArrayList();
nameValuePairs.add(nameValuePair1);
nameValuePairs.add(nameValuePair2);
String validateURL = "http://10.0.2.2:8080/testhttp1/TestServlet";

try {

        HttpParams httpParams = new BasicHttpParams();

        HttpConnectionParams.setConnectionTimeout(httpParams,5000); //设置连接超时为5秒

        HttpClient client = new DefaultHttpClient(httpParams); // 生成一个http客户端发送请求对象

        HttpPost httpPost = new HttpPost(urlString); //设定请求方式

          if (nameValuePairs!=null && nameValuePairs.size()!=0) {
              //把键值对进行编码操作并放入HttpEntity对象中
              httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8));
           }

        HttpResponse httpResponse = client.execute(httpPost); // 发送请求并等待响应

          // 判断网络连接是否成功
          if (httpResponse.getStatusLine().getStatusCode() != 200) {
             System.out.println("网络错误异常!!!!");

             return false;
           }

        HttpEntity entity = httpResponse.getEntity(); // 获取响应里面的内容
        inputStream = entity.getContent();  // 得到服务气端发回的响应的内容(都在一个流里面)
        // 得到服务气端发回的响应的内容(都在一个字符串里面)
        // String strResult = EntityUtils.toString(entity); 

      } catch (Exception e) {
   System.out.println("这是异常!");
  }

 

使用HttpURLConnection

String validateURL="http://10.0.2.2:8080/testhttp1/TestServlet?name=yang&pwd=123123";

try {

       URL url = new URL(validateUrl); //创建URL对象

       //返回一个URLConnection对象,它表示到URL所引用的远程对象的连接

       HttpURLConnection conn = (HttpURLConnection) url.openConnection();

       conn.setConnectTimeout(5000); //设置连接超时为5秒

       conn.setRequestMethod("GET"); //设定请求方式

       conn.connect(); //建立到远程对象的实际连接

       //返回打开连接读取的输入流

       DataInputStream dis = new DataInputStream(conn.getInputStream());  

      //判断是否正常响应数据 

        if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
           System.out.println("网络错误异常!!!!");

           return  false;
       }

} catch (Exception e) {
   e.printStackTrace();
   System.out.println("这是异常!");
  } finally {
    if (conn != null) {
     conn.disconnect(); //中断连接
    }
 }

 

 

 

 

 

分享到:
评论

相关推荐

    Android使用HttpClient和HttpsUrlConnection两种方式访问https网站

    本文将详细介绍如何使用`HttpClient`和`HttpsURLConnection`两种方式来访问HTTPS网站,包括验证证书和不验证证书的实现方法。 ### 1. Android中的HttpClient `HttpClient`是Apache提供的一种HTTP客户端库,它支持...

    Java中访问页面的HttpClient类

    它提供了同步和异步两种操作模式,能够处理各种HTTP方法(如GET、POST、PUT等),并具备处理重定向、cookies、认证、缓存等功能。HttpClient的灵活性使得它在各种场景下都能发挥效用,比如Web服务调用、数据抓取等。...

    http.rar httpurlconnection

    HTTP GET和HTTP POST是HTTP协议中两种最常见的请求方法: 1. HTTP GET:GET请求是最常见的HTTP请求,用于从服务器获取资源。URL中通常会包含所有请求参数,这种方式简单直观,但因为参数可见且有限制,不适合传递...

    Android网络框架(Retrofit+Okhttp+Rxjava)、MVP模式(Dagger)

    HTTP 请求一般采用原生的 HttpClient 和 HttpUrlConnection 的两种网络访问方式。可是在 Android 5.0 的时候 Google 就不推荐使用 HttpClient 了,到了 Android 6.0 (api 23) SDK,不再提供 org.apache.http.* (只...

    android中Http和HttpClient的Get和Post方法的使用

    在Android开发中,网络通信是应用与服务器交互的重要方式,其中`Http`和`HttpClient`是两种常用的HTTP请求库。本文将深入探讨这两种方法在Android中的应用,特别是`GET`和`POST`请求的实现,以及如何加载图片。 ...

    AndroidHttp通信(及cmwap处理)

    android下的两种http访问方式 HttpURLConnection和HttpClient接口 以前在cmwap网络下代理访问

    Android例子源码使用HttpClient获取网页html源代码

    本例子源码展示了如何利用Apache HttpClient库来实现这一功能,同时也对比了另一种常见的网络访问方式——URLConnection。以下是对这两个方法的详细解释。 首先,我们来看`HttpClient`的使用。Apache HttpClient是...

    HttpClient以及获取页面内容应用

    HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 下载地址:  http://hc.apache.org/downloads.cgi 1.2特性 1. 基于标准、纯净的java语言。...

    Android调用Web应用浅析.pdf

    文章深入研究了两种主要的网络访问方式:通过URL和使用HTTP客户端(HttpClient及HttpURLConnection)。 首先,文章介绍了通过URL进行网络应用的基本方法。URL(Uniform Resource Locator)是访问互联网资源的关键,...

    Android例子源码使用HttpClient获取网页html源代码.zip

    这两种方法都是Android SDK内置的网络访问库,但HttpClient已经在Android 6.0(API级别23)之后被弃用,而URLConnection仍然是推荐的网络访问方式。 1. **HttpClient**: HttpClient是Apache HTTP Components库的一...

    Android Get和Post方式访问网络

    在Android开发中,网络通信是应用与服务器交互的重要方式,主要分为GET和POST两种请求方法。本篇文章将详细解析这两种方法以及如何在Android中实现它们。 1. GET方法: GET是最常见的HTTP请求方法,用于从服务器...

    安卓网络访问

    Android提供了两种主要的XML解析器:SAX(Simple API for XML)和DOM(Document Object Model)。SAX解析器是事件驱动的,适用于大文件,而DOM解析器将整个XML文档加载到内存中,适合小型XML文件。在解析XML时,我们...

    java 后台实现get post 提交访问其他网站

    综上所述,Java后台实现GET和POST请求涉及了多种技术和方法,包括基础的`HttpURLConnection`、HTTP库如Apache HttpClient和OkHttp,以及错误处理和异步请求。在实际开发中,选择适合项目需求的技术栈至关重要。

    Android 7种网络连接方式

    虽然不是直接的网络连接方式,Fresco和Glide是两种流行的图片加载库,它们都支持网络图片加载。Fresco特别优化了大图加载,避免内存溢出,而Glide则以其简单易用和全面的图片处理能力受到开发者喜爱。 在实际开发...

    安卓网站交互JSONxmlWebserviceUPnP相关-使用HttpURLConnectionAsyncTask访问webservice接口返回json字符串.rar

    在Android中,访问Web服务通常有两种方式:HttpURLConnection和HttpClient。由于HttpClient已被弃用,HttpURLConnection成为首选。HttpURLConnection提供了更底层的网络操作控制,如设置请求方法、添加请求头、控制...

    Android提交数据到服务器端

    这里主要讨论两种方法:使用`HttpURLConnection`和`HttpClient`类。两者都是Android系统提供的API,用于实现HTTP请求,向服务器发送数据。 ### `HttpURLConnection` `HttpURLConnection`是Java标准库的一部分,...

    ANDROID 网络访问 封装库

    Android系统提供了两种主要的网络访问方式:HttpURLConnection和HttpClient,但随着Android版本的更新,HttpClient已被弃用,HttpURLConnection成为了推荐的选择。然而,这两种原生API使用起来较为复杂,需要处理如...

Global site tag (gtag.js) - Google Analytics