android发送http请求

Android Http请求方法汇总 现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!**任何市场都是优胜略汰适者生存,只要你技术过硬,到哪里都不存在饱和不饱和的问题,所以重要的还是提升自己。**另外一千个读者就有一千个哈姆雷特,所以以上只是自己的关键,不喜勿喷! 阅读详情

1. 使用 标准Java接口: 设计的类: java.net.*

基本步骤:
1) 创建 URL 以及 URLConnection / HttpURLConnection 对象
2) 设置连接参数
3) 连接到服务器
4) 向服务器写数据
5)从服务器读取数据

例:

复制代码
try {
// 创建一个 URL 对象
URL url = new URL(your_url); // 创建一个 URL 连接,如果有代理的话可以指定一个代理。
URLConnection connection = url.openConnection(Proxy_yours); // 对于 HTTP 连接可以直接转换成 HttpURLConnection,这样就可以使用一些 HTTP 连接特定的方法,如 setRequestMethod() 等:
//HttpURLConnection connection =
// (HttpURLConnection)url.openConnection(Proxy_yours);

// 在开始和服务器连接之前,可能需要设置一些网络参数
connection.setConnectTimeout(10000); connection.addRequestProperty(“User-Agent”, “J2me/MIDP2.0″); // 连接到服务器
connection.connect(); // 与服务器交互:
OutputStream outStream = connection.getOutputStream(); ObjectOutputStream objOutput = new ObjectOutputStream(outStream); objOutput.writeObject(new String(“this is a string…”)); objOutput.flush(); InputStream in = connection.getInputStream(); // 处理数据
… } catch (Exception e) { // 网络读写操作往往会产生一些异常,所以在具体编写网络应用时
// 最好捕捉每一个具体以采取相应措施
}
复制代码

2. 使用 apache 接口:

Apache HttpClient 是一个开源项目,弥补了 java.net.* 灵活性不足的缺点, 支持客户端的HTTP编程.
使用的类包括:  org.apache.http.*

步骤:
1) 创建 HttpClient 以及 GetMethod / PostMethod, HttpRequest 等对象;
2) 设置连接参数;
3) 执行 HTTP 操作;
4) 处理服务器返回结果.

例:

复制代码
try {
// 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的)
HttpParams params = new BasicHttpParams(); // 设置连接超时和 Socket 超时,以及 Socket 缓存大小:
HttpConnectionParams.setConnectionTimeout(params, 20 * 1000); HttpConnectionParams.setSoTimeout(params, 20 * 1000); HttpConnectionParams.setSocketBufferSize(params, 8192); // 设置重定向,缺省为 true:
HttpClientParams.setRedirecting(params, true); // 设置 user agent:
HttpProtocolParams.setUserAgent(params, userAgent); // 创建一个 HttpClient 实例:
// 注意: HttpClient httpClient = new HttpClient(); 是Commons HttpClient中的用法,
// 在 Android 1.5 中我们需要使用 Apache 的缺省实现 DefaultHttpClient.
DefaultHttpClient httpClient = new DefaultHttpClient(params); // 创建 HttpGet 方法,该方法会自动处理 URL 地址的重定向:
HttpGet httpGet = new HttpGet (“http://www.test_test.com/”);

//执行此方法:
HttpResponse response = client.execute(httpGet); if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { // 错误处理,例如可以在该请求正常结束前将其中断:
httpGet.abort(); } // 读取更多信息
Header[] headers = response.getHeaders(); HttpEntity entity = response.getEntity(); Header header = response.getFirstHeader(“Content-Type”); } catch (Exception ee) { // …
} finally { // 释放连接:
client.getConnectionManager().shutdown(); } 以下例子以 HttpGet 方式通过代理访问 HTTPS 网站: try { HttpClient httpClient = new HttpClient(); // 设置认证的数据: httpClient好像没有方法getCredentialsProvider()??
httpClient.getCredentialsProvider().setCredentials( new AuthScope(“your_auth_host”, 80, “your_realm”), new UsernamePasswordCredentials(“username”, “password”)); // 设置服务器地址,端口,访问协议:
HttpHost targetHost = new HttpHost(“www.verisign.com”, 443, “https”); // 设置代理:
HttpHost proxy = new HttpHost(“192.168.1.1″, 80); httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); // 创建一个 HttpGet 实例:
HttpGet httpGet = new HttpGet(“/a/b/c”); // 连接服务器并获取应答数据:
HttpResponse response = httpClient.execute(targetHost, httpGet); // 读取应答数据:
int statusCode = response.getStatusLine().getStatusCode(); Header[] headers = response.getHeaders(); HttpEntity entity = response.getEntity(); // …
} catch (Exception ee) { // …
}
复制代码

3. 使用 android 接口:

类android.net.http.* 实际上是通过对 Apache 的 HttpClient 的封装来实现的一个 HTTP 编程接口,同时还提供了 HTTP 请求队列管理、以及 HTTP 连接池管理,以提高并发请求情况下(如转载网页时)的处理效率,除此之外还有网络状态监视等接口。

例:(class AndroidHttpClient : Since Android API level 8)

复制代码
try {
AndroidHttpClient client =
AndroidHttpClient.newInstance(“user_agent__my_mobile_browser”);

// 创建 HttpGet 方法,该方法会自动处理 URL 地址的重定向:
HttpGet httpGet = new HttpGet (“http://www.test_test.com/”);
HttpResponse response = client.execute(httpGet); if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { // 错误处理…
} //…

// 关闭连接:
client.close(); } catch (Exception ee) { //…
}
转载自:http://blog.sina.com.cn/s/blog_4f1d20f30101e3bh.html
【踩坑】在原生安卓中发送Http请求 模拟器默认把127.0.0.1和localhost当做本身了,在模拟器上可以用10.0.2.2代替127.0.0.1和localhost,另外如果是在局域网环境可以用 192.168.0.x或者192.168.1.x (根据具体配置)连接本机。在application标签之前添加配置。在application标签中添加配置。在res的xml目录下新建配置文件。使用原生Java中的。... 阅读详情

相关推荐

SiamRPN++实战:如何用深度孪生网络提升无人机目标跟踪精度(附代码)

本文深入探讨了如何利用SiamRPN++深度孪生网络构建适用于无人机平台的高精度、轻量化单目标跟踪系统。文章详细解析了其兼顾精度与效率的核心原理,并提供了从PyTorch模型轻量化、骨干网络替换到TensorRT部署及应对遮挡、光照突变等实际挑战的完整工程实践指南与代码示例。

weixin_29047545的博客 370

Android上发送Http 的方式

在过去,Android 上发送 HTTP 请求一般有两种方式:HttpURLConnection 和 HttpClient,不过在 Android 6.0 系统中,HttpClient 被完全移除了,因此推荐使用 HttpURLConnection。

qq_43867812的博客 5252

AI智能体项目管理框架agent-pm:从原理到实战的多智能体协作指南

在人工智能和自动化技术快速发展的今天,多智能体系统已成为实现复杂任务自动化的重要技术路径。其核心原理在于通过任务分解、角色分配和状态管理,让多个AI智能体像人类团队一样协同工作,从而突破单个模型的性能边界。这种架构的技术价值在于将软件工程中成熟的项目管理方法论引入AI领域,显著提升了自动化流程的可预测性、可观测性和可复用性。在实际应用场景中,多智能体协作框架能够高效处理从代码开发、文档撰写到数据分析等一系列任务,尤其适合需要多步骤、多专业协同的复杂项目。本文聚焦的agent-pm框架,正是这一领域的典型实践

weixin_42533910的博客 714

Android 之 Http 请求头与响应头的学习

好了,看了那么多概念的东西,不动动手怎么行呢?这里贴下上一节给出的图,根据下面给出的表,大家自己感受下相关请求头的作用吧: PS:第一行是请求行:请求方式 + 资源名称 + HTTP协议版本号,另外请求头只是给服务端的一个 信息而已或者说一个简单,至于怎么处理,还是由服务端来决定的!上节中我们对Android涉及的网络编程进行了了解,也学习了下Http的基本概念,而本节我们 要学习的是Http的请求头与响应头,当然,可以把也可以把这节看作文档,用到的时候来查查 即可!//告诉浏览器响应码,以及重定向页面。

leyang0910的博客 1005

IC 时钟设计核心问题与高质量系统设计指南(附源码)

本文深入探讨了IC时钟设计的核心问题与高质量系统设计方法。时钟系统作为IC的"心脏",其性能直接影响时序稳定性、功耗效率和可靠性。文章从五个维度展开分析:时钟源选择与性能匹配、时钟分配网络设计、抖动抑制、多时钟域管理和功耗优化。针对高质量时钟系统设计,提出了时钟源优化、时钟树结构优化、干扰抑制与仿真验证等具体方法。同时,系统阐述了时钟与复位的协同设计关系,强调异步复位同步释放等技术的重要性。文章还总结了高质量IC系统设计的综合要点,包括电源/信号完整性、时序功耗平衡、可靠性设计及全流程验

Open 1060

最详细的Cadence OrCAD Capture自带元件库的介绍

最详细的Cadence OrCAD Capture自带元件库的介绍 本章节将介绍Cadence OrCAD Capture 软件自带的各类元件库的分类,方便大家在设计时能够快速的选择元件。 AMPLIFIER.OLB 共182个零件,存放模拟放大器,IC,如LM386,MAX457等。 ARITHMETIC.OLB 共182个零件...

LGCPCB的博客 6万+

Android HttpRequest

http  代码例子:                                 //生成一个请求对象 HttpGet httpGet = new HttpGet("http://www.baidu.com"); //生成一个Http客户

charlv的专栏 4402

【NI Multisim 14.0原理图设计基础——元器件分类】

电阻(RESISTOR):该元器件栏中的电阻都是标称电阻,是根据真实电阻元器件而设计的,其电阻值不能改变。 排阻(RESISTOR PACK):相当于多个电阻并列封装在一个壳内,它们具有相同的阻值。 电位器(POTENTIOMETER):即可调电阻,可以通过键盘字母动态调节电阻,大写表示增加电阻值,小写表示减小电阻值,调节增量可以设置。 电容(CAPACITOR):所有电容都是无极性的,不能改变参数,没有考虑误差,也未考虑耐压大小。 电解电容器(CAP_ELECTROLIT):所有电容都是有极性的,“+”极

RL2698853114的博客 4万+

Android开发,http网络请求网页基本操作

http网络请求基础操作 在安卓项目开发中,很多时候需要给客户端传送服务器提供的文字,图片,音频,视频,网页等,也需要将用户的操作反馈给服务器,这些就涉及了网络传输协议的知识。 http的常用简单请求方式为 GET和POST, 较为高级的可以传输大部分类型的数据,由Content-Type进行标记。 本文,介绍一个简单的,将百度网首页请求获取至客户端界面,本人也是个 萌新小白,如有错误,请指正,非常感谢。 url内容的获取一般由以下步骤: 1.实例化URL URL url = new URL("http:/

qq_41904106的博客 2891

JEDEC JESD51-14 瞬态双界面测试方法详解

(瞬态双界面测试方法,用于测量具有单路径热流的半导体器件的结到壳热阻 RθJC,包括结到壳顶部 RθJCT 和结到壳底部 RθJCB)。该标准于 2010 年发布(版本 JESD51-14.1),旨在提供一种准确、可重复的瞬态方法来测量功率半导体器件(如 MOSFET、IGBT)的结到壳热阻(RthJC),取代传统的稳态测量方法(如 MIL-STD-883E METHOD 1012.1)。方法,通过比较两种不同热界面材料(TIM)下的瞬态温度响应曲线,提取 RthJC,而无需直接测量壳温(Tc)。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 609

KingSCADA3.8保姆级安装教程

大家好,我是雷工!最近开始学习KingSCADA,今天这篇详细记录安装KingSCADA3.8的过程。首先下载需要的安装版本,此处以从官网下载的最新版本KingSCADA3.8为例,双击:Setup.exe;

做有价值的事,积累有价值的笔记! 1万+

android 发送http,在Android用Get方式发送HTTP请求

对自己的Android学习做个总结,方便以后查看。一、在Android用Get方式发送http请求,使用的是Java标准类,也比较简单。主要分以下几步:1.构造URLURL url = new URL(String path);2.设置连接httpURLConnection = (HttpURLConnection) url.openConnection();//超时时间httpURLConnec...

weixin_40001395的博客 2193

一种基于机载LiDAR点云电力线自动提取方法

文章目录一、引言二、算法实现2.1实现步骤2.2实现代码 一、引言 二、算法实现 2.1实现步骤 (1)首先采用首先采用高程滤波方法去除地面点和低矮地物点,滤波后的点云数据中除电力线点云外还含部分杆塔点、高植被点和噪声点。 (2)根据点云空间维度特征提取电力线点,使用空间密度聚类的方法实现单根电力线精确分离。 2.2实现代码 在这里插入代码片 ...

dayuhaitang1的博客 5172

Android发送http请求

本文档为个人博客文档系统的备份版本、作者:小游、作者博客:点击访问 这里我使用第三方库:https://github.com/square/okhttp/ 引入方法:implementation("com.squareup.okhttp3:okhttp:4.4.0") 但是引入报错。。。 emm,研究了半天,国外找了好多都无法解决。 刚开始以为是项目的问题在最后才发现是我改了一下项目的文件。。。 太难了我,这个问题困扰了整整一上午。。。 最简单的使用方法: private void getDataA.

小游 986

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android C++系列:JNI中发送Http网络请求

libcurl是一个免费和易于使用的客户端URL传输库,支持DICT, FILE, FTP, FTPS, GOPHER, gopers, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET和TFTP。

轻口味的专栏 1765

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android 发送http请求

发送http请求是比较好耗时的操作,所以要把他们放在线程里面(我是这么理解的) 现在android版本越来越高,都在用HttpURLConnection这种方式发送链接(舍弃了原来的HtypClient) 发送请求大致分为如下几步 1.创建一个连接 URL url = new URL("http://192.168.0.105/login/login"); 在这里要注意添加上http,否则可能会...

weixin_44102044的博客 6317

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android网络:发送http请求

一、用WebView来显示一个网页 当然是先要通过findViewById来实例化WebView的对象webview,然后就是调用几个方法 webview.getSetting().setJavaScriptEnable(ture);//让webview支持javascript脚本,当然通过调用不同的方法可以支持一些其他的脚本 webview.setWebViewClient(new Web

qq_20079785的博客 1310

android 4.0 http实例,Android-HTTP实例——使用GET方法、POST方法发送请求(安卓4.0以下版本)...

今天模仿着书上的例子,做了下使用Get、Post方法发送请求这个小项目。项目分为服务器端和客户端,整个程序是一个图书查询程序,运行效果图如下: -服务器端服务器采用的是Tomcat8,附上服务器端函数的百度网盘下载地址:http://pan.baidu.com/s/1pJ08oav下载下来将其整个放到 X:…Tomcat8\webapps 目录下。启动Tomcat8并打开浏览器,输入http://...

weixin_35468857的博客 290

Android中http的请求不能发送

android中提示http请求不能上网 在安卓的manifest.xml中加入android:usesCleartextTraffic=“true” android:usesCleartextTraffic="true" 搞定给自己记录一下 这个是针对高版本的安卓只能进行https不能http的解决方法 ...

weixin_43524928的博客 1088

android http发送xml请求参数,android http请求并解析返回的xml

String requestUrl = RequestUrlMng.getHost(context)+"/mservices/user/updateNickname.action?nickname="+nickname;HttpGet httpRequest = new HttpGet(requestUrl);try{HttpClient httpClient = new DefaultHttpC...

weixin_30184337的博客 381

android 发送http请求

Android发送http请求 (1)发送post请求 Java代码 Map<String,String>person=newHashMap<String,String>(); person.put("os_version",SystemHWUtil.formatArr(version,","));...

weixin_33873846的博客 99

[Android]通过JNI实现卸载自身App后台发送Http请求~

摘要: 使用JNI fork进程实现 监控自身App被卸载 首先这个功能仅供cankao 毕竟这个行为已经跟数字公司一样不人道了  可以使用linux exec命令跳转到浏览器的反馈页我使用的环境IDE:Android Studio 2.0gj:Android 4.4.2Android.mk LOCAL_PATH := (callmy−dir)include(call my-dir) i

六桥风月IT随笔 869

android post json格式,从Android发送JSON HTTP POST请求

我正在使用下面的代码发送http POST请求,该请求将对象发送到WCF服务。可以,但是如果我的WCF服务还需要其他参数怎么办?如何从Android客户端发送它们?这是我到目前为止编写的代码:StringBuilder sb = new StringBuilder();String http = "http://android.schoolportal.gr/Service.svc/SaveVal...

weixin_32866779的博客 592

Android 使用HttpURLConnection发送HTTP请求

在过去,Android上发送HTTP请求一般有两种方式,HttpURLConnection和HttpClient,不过由于HttpClient存在API数量过多,扩展困难等缺点,Android团队越来越不建议我们使用这种方式,终于在Android6.0系统中,HttpClient的功能被完全移除了,标志着比功能被正式弃用,现在官方建议使用的是HttpURLConnection的用法。 首先需要获取到

li1214477012的博客 377

android http通过post请求发送一个xml

今天,简单讲讲android如何在网络请求时通过post方式发送xml数据。其实也很简单,不过我之前对网络请求这一块不太熟悉,当需要做这个发送xml数据时,居然不知道怎么做。后来,在网上查找资料,最终是解决了问题。这里记录一下。一.通过HttpURLConnection发送xml数据因为原理很简单,直接举例子。其中发送的xml数据为:&lt;?xml version = “1.0” ?&gt; ...

谢岩的博客 5156
上一篇: HTTP协议详解
下一篇: Android通过HttpURLConnection与HttpClient联网代理网关设置
Remember2
博客等级 码龄15年 4粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值