Android HttpClient

httpclient android 和服务器交互的必备知识,Httpclient 帮助文档 立即下载
  1. package alex.reader.ebook.bam;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.params.HttpClientParams;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.params.BasicHttpParams;
    import org.apache.http.params.HttpConnectionParams;
    import org.apache.http.params.HttpParams;
    import org.apache.http.params.HttpProtocolParams;
    import org.apache.http.protocol.HTTP;
    import org.apache.http.util.EntityUtils;
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.EditText;
    public class SimpleClient extends Activity {
        private HttpParams httpParams;
        private HttpClient httpClient;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.simple_client);
            EditText editText = (EditText) this.findViewById(R.id.EditText01);
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("email", "firewings.r@gmail.com"));
            params.add(new BasicNameValuePair("password", "954619"));
            params.add(new BasicNameValuePair("remember", "1"));
            params.add(new BasicNameValuePair("from", "kx"));
            params.add(new BasicNameValuePair("login", "登 录"));
            params.add(new BasicNameValuePair("refcode", ""));
            params.add(new BasicNameValuePair("refuid", "0"));
            Map params2 = new HashMap();
            params2.put("hl", "zh-CN");
            params2.put("source", "hp");
            params2.put("q", "haha");
            params2.put("aq", "f");
            params2.put("aqi", "g10");
            params2.put("aql", "");
            params2.put("oq", "");
            String url2 = "http://www.google.cn/search";
            String url = "http://wap.kaixin001.com/home/";
            getHttpClient();
            editText.setText(doPost(url, params));
            // editText.setText(doGet(url2, params2));
        }
        public String doGet(String url, Map params) {
            /* 建立HTTPGet对象 */
            String paramStr = "";
            Iterator iter = params.entrySet().iterator();
            while (iter.hasNext()) {
                Map.Entry entry = (Map.Entry) iter.next();
                Object key = entry.getKey();
                Object val = entry.getValue();
                paramStr += paramStr = "&" + key + "=" + val;
            }
            if (!paramStr.equals("")) {
                paramStr = paramStr.replaceFirst("&", "?");
                url += paramStr;
            }
            HttpGet httpRequest = new HttpGet(url);
            String strResult = "doGetError";
            try {
                /* 发送请求并等待响应 */
                HttpResponse httpResponse = httpClient.execute(httpRequest);
                /* 若状态码为200 ok */
                if (httpResponse.getStatusLine().getStatusCode() == 200) {
                    /* 读返回数据 */
                    strResult = EntityUtils.toString(httpResponse.getEntity());
                } else {
                    strResult = "Error Response: "
                            + httpResponse.getStatusLine().toString();
                }
            } catch (ClientProtocolException e) {
                strResult = e.getMessage().toString();
                e.printStackTrace();
            } catch (IOException e) {
                strResult = e.getMessage().toString();
                e.printStackTrace();
            } catch (Exception e) {
                strResult = e.getMessage().toString();
                e.printStackTrace();
            }
            Log.v("strResult", strResult);
            return strResult;
        }
        public String doPost(String url, List<NameValuePair> params) {
            /* 建立HTTPPost对象 */
            HttpPost httpRequest = new HttpPost(url);
            String strResult = "doPostError";
            try {
                /* 添加请求参数到请求对象 */
                httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
                /* 发送请求并等待响应 */
                HttpResponse httpResponse = httpClient.execute(httpRequest);
                /* 若状态码为200 ok */
                if (httpResponse.getStatusLine().getStatusCode() == 200) {
                    /* 读返回数据 */
                    strResult = EntityUtils.toString(httpResponse.getEntity());
                } else {
                    strResult = "Error Response: "
                            + httpResponse.getStatusLine().toString();
                }
            } catch (ClientProtocolException e) {
                strResult = e.getMessage().toString();
                e.printStackTrace();
            } catch (IOException e) {
                strResult = e.getMessage().toString();
                e.printStackTrace();
            } catch (Exception e) {
                strResult = e.getMessage().toString();
                e.printStackTrace();
            }
            Log.v("strResult", strResult);
            return strResult;
        }
        public HttpClient getHttpClient() {
            // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的)
            this.httpParams = new BasicHttpParams();
            // 设置连接超时和 Socket 超时,以及 Socket 缓存大小
            HttpConnectionParams.setConnectionTimeout(httpParams, 20 * 1000);
            HttpConnectionParams.setSoTimeout(httpParams, 20 * 1000);
            HttpConnectionParams.setSocketBufferSize(httpParams, 8192);
            // 设置重定向,缺省为 true
            HttpClientParams.setRedirecting(httpParams, true);
            // 设置 user agent
            String userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2) Gecko/20100115 Firefox/3.6";
            HttpProtocolParams.setUserAgent(httpParams, userAgent);
            // 创建一个 HttpClient 实例
            // 注意 HttpClient httpClient = new HttpClient(); 是Commons HttpClient
            // 中的用法,在 Android 1.5 中我们需要使用 Apache 的缺省实现 DefaultHttpClient
            httpClient = new DefaultHttpClient(httpParams);
            return httpClient;
        }
    }


安卓httpClient例子 httpclient的Android应用,包括基本的所有jar包httpclient-4.0.1.jar;httpcore-nio-4.0.1.jar;httpmime-4.0.1.jar; 立即下载

相关推荐

ebk2格式文件阅读器绿色版.rar

软件介绍: 本工具为绿色免安装版,解压缩到任意目录下后,直接打开里面的主程序即可使用。功能:可以让你在电脑上阅读TXT/EBK/EBK2格式的文件,同时也可以编辑和转换ebk2文件。软件的界面虽然简陋些,但是毕竟可以正常使用。

Android之HttpClient的详解

——HttpClient        android5.0之前常用        android5.0之后,被HttpURLConnecetion替代        android6.0完全被舍弃        HttpClient是Apache提供的Http网络访问接口。完成的功能和HttpURLConnection几乎一模一样的效果,但两者的用法有很大的差别。       在一般情

重心开始,重新开始 2376

get 和post 实例

一个android post和get的实例,多线程情况下创建唯一的HttpClient

httpclient来实现android客户端编程,Android网络编程之简易新闻客户端

一、 通过一个案例“新闻客户端”向大家演示AsyncHttpClient和SmartImageView的综合使用。运行结果如下:1、首先我们了解一下相关知识:SmartImageView的使用市面上一些常见软件,例如手机QQ、天猫、京东商场等,都加载了大量网络上的图片。用Android自带的API实现这一功能十分麻烦而且耗时。为此,编程爱好者开发了一个开源项目——SmartImageView。开源...

weixin_39801356的博客 300

android平台HttpGet、HttpPost请求实例

出自网络搜索引擎巨头的Android平台,其对网络的支持自然不用多说,在Android SDK中已经集成了Apache的HttpClient模块。使用HttpClient模块,我们就可以使用HTTP协议进行网络连接了

全志平台Sensor驱动移植实战:从点亮到调优的完整指南

本文详细介绍了在全志平台上进行Sensor驱动移植的全过程,从硬件引脚配置到软件参数调优,涵盖点亮、出图和调优三大阶段。重点解析了OV02B10传感器的I2C通信建立、上电时序调试和初始化参数配置等关键技术点,并提供了实用的调试技巧与问题排查指南,帮助开发者高效完成全志平台Sensor驱动移植工作。

weixin_28727975的博客 218

Android 网络通信——HttpClient

Android中的网络通讯方式有多种,这个我们在前一篇文章《Android 网络连接——URLConnection 》中已经提到过,Android网络通信有:支持JDK提供的ServiceScoket,Scoket的TCP/IP通信,支持JDK提供的Datagrampacket,DatagramScoket的UDP通信,当然也支持JDK提供的URL, URLConnection通信,除此之外Andr

To_be_Designer 1957

HBuilderX远程开发环境配置:Windows SSH连接实操

详细介绍如何在Windows系统中通过SSH连接远程服务器,配置HBuilderX进行高效远程开发,提升编码协作效率。全程实操演示,轻松掌握hbuilderx与远程环境的无缝对接。

weixin_35751194的博客 1191

推荐文章:高效集成HttpClient于Android应用 —— 深入解析httpclient-android开源项目

推荐文章:高效集成HttpClient于Android应用 —— 深入解析httpclient-android开源项目 项目介绍 在这个移动应用无处不在的时代,高效稳定的数据通信是每款App不可或缺的核心。为此,我们带来了httpclient-android——一个专为Android平台打造的HttpClient版本。该项目由smarek维护,并基于上游Apache HttpClient 4.5....

gitblog_01116的博客 725

STM32F429网络通信避坑指南:用CubeMX搞定LAN8720+LWIP+FreeRTOS(附完整代码)

本文详细介绍了STM32F429通过CubeMX配置LAN8720+LWIP+FreeRTOS实现网络通信的避坑指南,涵盖硬件连接、CubeMX配置、LWIP优化及调试技巧,提供完整代码和实战经验,帮助开发者高效解决以太网通信中的常见问题。

weixin_26873711的博客 145

Challenge 4 - OSCP A

在c盘下发现一个windows.old,在里面可以找到SYSTEM和SAM文件,下载到本地,利用samdump2解密发现没解出来,再来试试pwdump.py(https://github.com/CiscoCXSecurity/creddump7)得到压缩包密码bludecode,解压之后发现一个比较特殊的文件configuration.php,里面有两个类似密码的字符串。登录之后在/opt/backups/下发现几个特殊文件,其中sitebackup3.zip是个正常的压缩包。但是这个压缩包是有密码的。

羽的博客 5777

android httpclient工具类,android开发,http工具类详解

android的HttpClient实现简单的get和post请求/*** Http工具类*/public class HttpUtil {// 创建HttpClient对象public static HttpClient httpClient = new DefaultHttpClient();public static final String BASE_URL = "";/*** get请求...

weixin_42682925的博客 276

基于Scrapy+Playwright的学术会议信息智能爬取系统实战

本文详细介绍如何使用Python构建一个高效的学术会议信息爬取系统,结合Scrapy框架和Playwright无头浏览器技术,实现对全球学术会议数据的自动化采集、清洗和存储。文章包含完整的技术方案设计、代码实现细节以及性能优化策略,可帮助读者快速掌握现代网络爬虫开发的核心技术。关键词:Python爬虫、Scrapy、Playwright、学术会议、数据采集、反爬对抗python复制下载。

2201_76125261的博客 710

安卓项目中如何导入HttpClient

2.在模块的grade的设置中设置要引入的依赖的信息。1.首先在全局的grade中设置仓库的地址。安卓项目中如何导入HttpClient。

简单点的博客 614

基于STM32L4XX、HAL库的ICM-42607-P姿态传感器驱动程序设计

/ 转换为dps(±1000dps量程)float accel_x = sensor_data.accel_x * (8.0f / 32768.0f);// 转换为g值(±8g量程)#define ICM42607_I2C_ADDR 0x68 << 1 // I2C地址(SA0=0)= 0x40) { // ICM-42607的WHO_AM_I值为0x40。// 读取传感器数据。

zhusl6688的博客 835

游戏引擎揭秘:大厂为何死磕自研?

游戏引擎本质与商业价值解析 游戏引擎是集成了渲染、物理、动画等核心功能的开发工具包,其价值在于让开发者免于重复编写底层代码,专注于游戏内容创作。商业引擎(如Unity/Unreal)虽降低了开发门槛,但头部厂商仍坚持自研引擎,主要基于以下考量: 经济性:长期项目分摊自研成本后,比商业引擎分成更划算; 可控性:完全掌握底层代码,能针对性优化核心玩法需求; 技术壁垒:专属引擎成为厂商的竞争优势,如米哈游的跨平台渲染技术; 项目适配:超大型游戏(开放世界/MMO)需要深度定制解决方案。 这种"短期高投入

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 263

安卓C语言 HTTP,Android 实现 HttpClient 请求Https

Android 实现 HttpClient 请求Https,默认情况下,HttpClient是不能请求Https的,需要自己获取。private static final int SET_CONNECTION_TIMEOUT = 5 * 1000;private static final int SET_SOCKET_TIMEOUT = 20 * 1000;public static HttpCl...

weixin_28876083的博客 337

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

perseverance51博客 4232

在安卓9.0以上版本使用HttpClient

No static field INSTANCE of type Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier; in class Lorg/apache/http/conn/ssl/ …… More than one file was found with OS independent path 'META-INF/DEPENDENCI...

冷朴承 3288

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

安卓Studio学习笔记---Android studio开发找不到HttpClient问题

解决Android studio开发找不到HttpClient问题 今天刚将idea的项目迁移到Studio上,出现了各种坑啊,首先我原来的sdk是19,里面是使用HttpClient请求网络的,但是迁移到Studio之后就不行了,百度之后才知道在23中,Google已经移除了Apache HttpClient 想关类,推荐使用HttpUrlConnection,那只能找

紫色飞鱼儿的博客 2559

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

php与安卓httpclient,Android+PHP 使用HttpClient提交POST的请求,使用JSON解析响应

这里介绍一下如何让自己的Android程序具有联网功能。当然首先要有一台服务器,如果只是进行测试的话,可以使用局域网代替(手机连电脑wifi)。要求电脑已配置好Apache+PHP环境。下面是一个简单的Android程序,相信只要有一定的Java基础就能大概“猜懂”其中的含义。(程序可能写的不够完善)Android程序布局文件gravity="center"android:text="使用JSON...

weixin_33185844的博客 281

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

安卓逆向(二)httpClient使用

HttpClient 是 Apache下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。nohttp 在开发完之后,进行了大量宣传各种技术博客,论坛等多渠道都有,那个时间提及nothttp大家都会略知一二,当然当时也遭到一批抵制者,觉得宣传过度,正值httpClient逐渐被Android SDK 替换和下架的时候,nohttp逐渐崛起,后随着一直更新和完善,现在使用也是相当可以。16年阿里开发者,并进行宣传。

Codeoooo 博客 2199

关于安卓HTTP请求用HttpUrlConnection还是HttpClient好

安卓和JAVA应用开发少不了要提交HTTP请求,而基本上目前有两个实现方式:HttpUrlConnection(即URL.openConnection)和HttpClient。 网上不少人都认为HttpClient更好,理由是功能更强,BUG更少,更容易控制细节。但我个人认为普通JAVA人员可选用HttpClient,安卓开发人员则应该使用HttpUrlConnection,理由如下:

zhangfei_jiayou的专栏 875

php与安卓httpclient,php – 哪个客户端是最好的HttpURLConnection或HttpClient在android中?...

我很困惑哪一个更适合使用Restful Protocol.I调用php webservice使用API​​(HttpClient和HttpURLConnection)来调用webservice.使用HttpClient调用Web服务时会发生什么>在Froyo上它完美地工作(在localhost和服务器上).>在JellyBean工作,但过了一段时间后,然后不工作> HttpCli...

weixin_32042331的博客 93

Android中不能使用HttpClient了

Android不在支持HttpClient

昔往矣今何在 4637

【安卓开发】在Android 6.0下继续使用HttpClient

新的as直接用httpClient是不可以的,要在项目中继续使用HttpClient就要在主module中配置 android { useLibrary ‘org.apache.http.legacy‘ } 即把这行代码贴到主module的build.gradle中 然后进行编译就可以了

flora 368
上一篇: Android UI之ProgressBar(进度条)
下一篇: Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT
mincheat
博客等级 码龄17年 46粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值