AndroidManifest.xml 别忘了添加权限
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.hurlconnectionpic" android:versionCode="1" android:versionName="1.0" > <uses-permission android:name="android.permission.INTERNET"/> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.hurlconnectionpic.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>效果图:
HttpClientHttpURLConnection是Java的网络库的类,而HttpClient是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
HttpClient相对HttpURLConnection功能更加完善易用,主要特点如下:
(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
(2)支持自动转向
(3)支持 HTTPS 协议
(4)支持代理服务器等
GET:
1. 创建 HttpClient 的实例
2. 创建某HttpGet。在创建时传入待连接的地址
3. 调用HttpClient实例的 execute 方法来执行第二步中创建好的实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
POST:
1. 创建 HttpClient 的实例
2. 创建HttpPost对象。调用setParams(HetpParams params),setEntity(HttpEntity entity)方法来设置请求参数
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response,getAllHeaders(),getEntity()等
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
1
上面代码展示了使用GET和POST两种方式来完成HTTP会话过程。更多信息可以参考apache的网站上的资源:
HttpClient Tutorial ()
HttpClient API文档: