安卓HTTP访问的两种方式

转自:http://blog.sina.com.cn/s/blog_87216a0001014sm7.html

使用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(); //中断连接
    }
 }
时间: 2024-12-28 16:29:00

安卓HTTP访问的两种方式的相关文章

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

JavaScript对象属性访问的两种方式

JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush&qu

Nginx部署静态页面及引用图片有效访问的两种方式

nginx安装百度一下有很多,直接正题: 静态文件目录结构 file#文件位置 /home/service/file/ css js images html fonts 配置nginx.conf核心代码(html引用图片用的是相对路径) 第一种:实用型 server { listen 80; server_name localhost; location ^~/image{  root /home/;#图片路径} location / { root /home/service/file/html

创建安卓模拟器的两种方式及常用Android命令介绍

创建安卓模拟器有以下两种方式: 1>通过图形界面创建,在Eclipse中单击Windows->Android Virtual Device Manager启动图形界面窗口 2>如果用的不是Eclipse,则可以切换到~/tools/文件夹,在终端执行"android avd",单击Create 按钮,则可以创建一个新的模拟器. 2.使用镜像功能加快模拟器的启动速度. 也许你在启动Android模拟器重新启动的速度很慢,因此新增了一个保存和恢复模拟器状态的镜像功能,用以

解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个SharePoint库,验证一下该帐号是否具有对该SharePoint web应用程序具有至少“完全读取”的权限. 当我在升级上来的SharePoint环境中对我新建的博客URL进行爬网时遇到了这个错误. 这个错误发生在当你运行Windows 2008 R2和SharePoint 2010并且爬网进程试图访问一

vb.net访问sql server数据库(SqlDataReader和DataSet两种方式)

.net访问数据库的三个基本步骤: 一.连接数据库: 要使用sqlclient命名空间中的sqlconnection类: 定义一个sqlconnection对象: Dim sqlCon As New SqlConnection 要进行的设置有: 1.sqlCon .ConnectionString="server=服务器ip;database=数据库名称;integrated security=ture/false(是否有登录账号密码);uid=用户名 (默认:sa);pwd:登录密码"

JS两种方式访问对象属性

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <p> 有两种方式可以访问对象属性: </p> <p> 你可以使用 .property 或 ["property"]. </p>

网络协议 finally{ return问题 注入问题 jdbc注册驱动问题 PreparedStatement 连接池目的 1.2.1DBCP连接池 C3P0连接池 MYSQL两种方式进行实物管理 JDBC事务 DBUtils事务 ThreadLocal 事务特性 并发访问 隔离级别

1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2次. >强烈依赖数据库的驱动jar 解决办法: Class.forName("com.mysql.jdbc.Driver"); 1.1.2 API详解:java.sql.Statement接口: 操作sql语句,并返回相应结果 String sql = "某SQL语句&qu

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验要求: 选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/sys