HttpURLConnection、HttpClient的作用,方法,简介

HttpURLConnection和HttpClient获取Json数据 Android中提供的HttpURLConnection(JDK自带)和HttpClient(Apache提供)接口可以用来开发HTTP程序。 服务器端有如下json数据 [ { "image": "http://222.22.254.223:8080/web/a.jpg", "title": "新闻标题1", "content": "新闻内容1", "conut": "跟帖人数1" }, { 阅读详情

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection。

HttpURLConnection是java的标准类,HttpURLConnection继承自URLConnection,可用于向指定网站发送GET请求、POST请求。它在URLConnection的基础上提供了如下便捷的方法:

• int getResponseCode():获取服务器的响应代码。

• String getResponseMessage():获取服务器的响应消息。

• String getResponseMethod():获取发送请求的方法。

• void setRequestMethod(String method):设置发送请求的方法。

在一般情况下,如果只是需要Web站点的某个简单页面提交请求并获取服务器响应,HttpURLConnection完全可以胜任。但在绝大部分情况下,Web站点的网页可能没这么简单,这些页面并不是通过一个简单的URL就可访问的,可能需要用户登录而且具有相应的权限才可访问该页面。在这种情况下,就需要涉及Session、Cookie的处理了,如果打算使用HttpURLConnection来处理这些细节,当然也是可能实现的,只是处理起来难度就大了。

为了更好地处理向Web站点请求,包括处理Session、Cookie等细节问题,Apache开源组织提供了一个HttpClient项目,看它的名称就知道,它是一个简单的HTTP客户端(并不是浏览器),可以用于发送HTTP请求,接收HTTP响应。但不会缓存服务器的响应,不能执行HTML页面中嵌入的Javascript代码;也不会对页面内容进行任何解析、处理。

简单来说,HttpClient就是一个增强版的HttpURLConnection,HttpURLConnection可以做的事情HttpClient全部可以做;HttpURLConnection没有提供的有些功能,HttpClient也提供了,但它只是关注于如何发送请求、接收响应,以及管理HTTP连接。

使用HttpClient发送请求、接收响应很简单,只要如下几步即可。

  1. 创建HttpClient对象。

  2. 如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。

  3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。

  4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,执行该方法返回一个HttpResponse。

  5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。

Android学习笔记:HttpClient和HttpURLConnection 在Android开发中网络请求是最常用的操作之一,Android SDK中对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口: (1)标准Java接口(java.NET)——HttpURLConnection,可以实现简单的基于URL请求、响应功能; (2)Apache接口(org.apache.http)——HttpClient,使用起来更方便更强大; 一、HttpClient H... 阅读详情

相关推荐

pytorch中的wheel文件

whl 文件是 Python 的一个软件包分发格式,用于在 Python 中安装软件包。它是 Python Wheel 的缩写,也被称为 wheel 文件。这种文件格式旨在简化 Python 软件包的安装和分发。对于 PyTorch 而言,它提供了预编译的 .whl 文件,您可以通过 pip 安装这些文件来快速方便地安装 PyTorch。这些 .whl 文件是已经编译好的二进制分发文件,可以直接安装在您的 Python 环境中,而无需再进行编译。

bj_zhb的博客 3126

关于设置http响应头connection的作用

       有的网站会在服务器运行一段时间后down掉,有很多原因可能造成这种现象:比如tomcat堆和非堆内存设置不足,程序没能释放内存空间造成内存溢出,或者某些进程一直运行没能释放,造成cup资源大量消耗。       但除了程序本身的原因,还有可能是客服端访问造成(当然这个客户端也包含如蜘蛛软件等搜索引擎),如果服务器和客户端建立的是长链接(可以用"netstat -a"命令查看网络访...

chenchendefeng的专栏 1898

合规批量下载美国上市公司年报数据的一些经验和总结

本文总结了使用Python脚本批量下载和处理美国上市公司SEC报告的技术经验。通过CIK代码查询SEC EDGAR系统,生成特定日期和报告类型的URL,并使用Selenium和Requests库下载报告内容。流程包括数据获取、文件下载、Excel处理和多线程优化,确保高效处理几百条数据。关键技术挑战包括SEC访问限制、动态网页内容和数据完整性,解决方案包括设置合规的User-Agent、使用Selenium模拟浏览器行为以及错误日志记录。最佳实践包括模块化设计、多线程优化和严格遵守SEC合规性。该自动化流程

jyfool的博客 1635

解析HTTP协议中的CONNECT请求

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。它基于客户端-服务器模型,客户端发起请求,服务器返回响应。HTTP是无状态协议,每个请求都是独立的,服务器不会保留任何客户端的状态信息。

博客 8306

HMMER实战:从零部署到序列分析

本文详细介绍了HMMER工具的安装与使用,从源码编译到环境配置,再到核心工具hmmbuild、hmmsearch等的实战应用。通过球蛋白序列分析案例,展示了HMMER在生物信息学中的强大功能,帮助读者快速掌握序列分析技巧。

weixin_42529366的博客 251

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发

本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。

4k5l6j7h8的博客 242

HttpURLConnection与HttpClient随笔

在JDK的java.net包中已经提供了访问HTTP协议的基本功能的类:HttpURLConnection。HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、POST请求。// 获取服务器的响应代码。// 获取服务器的响应消息。// 获取发送请求的方法。// 设置发送请求的方法。在一般情况下,如果只是需要向Web站点的某个简单页面提交请求并获取服务器响应,HttpURLConnection完全可以胜任。

weixin_54634711的博客 447

VFIO框架源码分析(二十一)- IOMMUFD 模式下的 DMA 映射机制

在虚拟化 I/O 的世界里,无论上层管理面(如对象模型、设备绑定)如何重构,数据面最核心的任务始终未变——DMA 映射(DMA Mapping)。即如何建立 Guest Physical Address (GPA) 到 Host Physical Address (HPA) 的映射关系,并将其填入 IOMMU 的硬件页表中,使得直通设备能够正确访问虚拟机内存。在 Legacy VFIO (Type1) 时代,这一职责由承担,它通过ioctl 操作 Container。

qq_36071928的博客 1007

HttpUrlConnection的应用

HttpUrlConnection的应用 一、什么是HttpUrlConnection HttpUrlConnection是java的标准指定网站发送GET请求、post请求类、ttpUrlConnection继承自URLConnection,可用于向指定网站发送GET请求、post请求,httpUrlConnection在使用上相对简单,并且易于...

journeyIT的博客 1073

从Live2D到Unreal Engine:2D与3D虚拟数字人核心技术实现路径解析

本文深入解析了从Live2D到Unreal Engine的2D与3D虚拟数字人核心技术实现路径,涵盖技术选型、制作流程与优化技巧。通过对比2D骨骼动画与3D建模渲染的差异,结合实战案例,帮助开发者根据项目需求选择合适方案,提升虚拟数字人的交互体验与视觉效果。

weixin_30379531的博客 149

FusionCompute8.0.0实战指南:从零部署CNA与VRM环境

本文以华为FusionCompute 8.0.0为例,详细介绍了如何利用老旧硬件从零开始部署CNA计算节点与VRM管理节点的完整实战指南。内容涵盖实验环境准备、CNA安装与网络配置、VRM虚拟机部署方案对比,并提供了典型故障排查与性能调优技巧,帮助读者低成本构建可用的虚拟化学习环境。

weixin_29306317的博客 315

对 URLConnection、HttpURLConnection 与 HttpClient 的理解

一、URLConnection:抽象类 URLConnection 是超类,它代表应用程序和 URL 之间的通信链接。此类的实例可用于读取和写入此 URL 引用的资源。通过在 URL 上调用 openConnection 方法创建连接对象。 处理设置参数和一般请求属性。 使用 connect 方法建立到远程对象的实际连接。 远程对象变为可用。远程对象的头字段和内容变为可访问。 二、HttpURLC...

abcdefghjkl512162086的专栏 1229

Vue3 - Vite运行打包时Uncaught ReferenceError: process is not defined(解决vue3+vite报错process is not defined)

vue3,vite,vue3+vite报错,process,UncaughtReferenceError:processisnotdefined,浏览器控制台报错processisnotdefined解决方法,vue3如何解决报错,vite报错怎么办,前端打包UncaughtReferenceError:processisnotdefined,npmrunbuild打包报错,vite打包时出现错误,vue3打包运行找不到process,热更新会报错UncaughtRefer

🏆 前端领域优质创作者 7737

HttpClient和HttpURLConnection的区别

最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到了一位Google的工程师写的一篇博客,文中对HttpURLConnection和HttpClient进行了对比,下面我就给大家简要地翻译

HGuang_ZJH的专栏 5万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HttpURLConnection与HttpClient

HttpURLConnection与HttpClient一.HttpURLConnection1.基本介绍2.提供的几个方法3.使用例子3.1使用GET方式访问HTTP3.2使用POST方式访问HTTP4.使用总结二.HttpClient1.基本介绍2.使用流程3.使用例子3.1使用GET方式访问HTTP3.2使用POST方式访问HTTP3.3POST和GET的区别4.使用总结三.表单提交中的po...

weixin_44275194的博客 2546

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

HttpClient与HttpUrlConnection进行跨域请求

HttpClient与HttpUrlConnection 在java后端进行跨域请求,访问调用服务的时候用得比较多。都是基于http的请求,进行访问   一. HttpURLConnection简介 在JDK的java.net包中已经提供了访问HTTP协议的基本功能的类:HttpURLConnection。 HttpURLConnection是Java的标准类,它继承自URLConnect...

qq_41462263的博客 2060

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HttpURLConnection和HttpClient比较

1、HttpClient比HttpURLConnection功能更强大,但是做java建议用前者,安卓建议用后者 2、这两者都支持HTTPS,streaming 上传与下载,配置超时时间,IPv6, 以及连接池。 3.区别 HttpClient是个很不错的开源框架,封装了访问http的请求头,参数,内容体,响应等等, HttpURLConnection是java的标准类,什么都没封装,

qq_27029491的博客 1255

使用HttpURLConnection代替HttpClient

使用HttpURLConnection代替HttpClient在Android的新版本中,apache包中的HttpClient由于安全性等某些原因被删除,甚至整个org.apache都不再包含在Android的API中。这导致了许多原本使用HttpClient来链接Android前端后台的朋友出现了许多困扰。 现在我们有两种方法解决问题

Founder Watts的博客 3515

HttpURLConnection与HttpClient浅析

HttpURLConnection与HttpClient浅析1. GET请求与POST请求HTTP协议是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源。在介绍HttpURLConnection前,我们还是再来说一下URL请求最常用的两种方式:GET请求与POST请求。GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中

小明的专栏 1万+

httpurlconnection httpclient

HttpClient是个开源框架,封装了访问http的请求头,参数,内容体,响应等等,HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便 HttpClient实际上是对Java提供方法的一些封装, 在HttpURLConnection中的输入输出流操作, 在这个接口中被统一封装成了HttpPost(HttpGet)和HttpResponse,...

dbr37766的博客 169

使用httpclient实现http链接池与使用HttpURLConnection发送http请求的方法与性能对比

使用httpclient实现http链接池与使用HttpURLConnection发送http请求的方法与性能对比在项目中需要使用http调用接口,实现了两套发送http请求的方法,一个是使用apache的httpclient提供的http链接池来发送http请求,另一个是使用java原生的HttpURLConnection来发送http请求,并对两者性能进行了对比。使用httpclient中的链接

徐刚的技术博客 1万+

HttpClient之post方法和HttpUrlConnection之Get方法

转载自:http://blog.sina.com.cn/s/blog_87216a0001014sm7.html1. 使用HttpClient:(post方法)NameValuePair nameValuePair1 = new BasicNameValuePair(“name”, “yang”); NameValuePair nameValuePair2 = new BasicNameValue

谷雨的博客 651

HttpClient、HttpURLConnection协议访问网络

HttpClient、HttpURLConnection协议访问网络 一:HttpClient简介 HttpClient是什么? HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包。 尽管java.net软件包提供了用于通过HTTP访问资源的基本功能,但它并未提供许多应用程序所需的全部灵活性或功能。HttpClient试图通过提供高效,最新且功能丰富的程序包来实现此空白,以实现最新HTTP标准和建议的客

GuanGuBin的博客 619

(转)HttpURLConnection与 HttpClient 区别

转自: HttpURLConnection与 HttpClient 区别/性能测试对比 - 尚码园HttpURLConnection与HttpClient随笔   目前在工做中遇到的须要各类对接接口的工做,须要用到HTTP的知识,工做完成后想要作一些笔记,原本知识打算把本身写的代码粘贴上来就行了,https://www.shangmayuan.com/a/6ee68d2d1c9b4606bf618dfd.html 【README】 本文总结了 HttpURLConnection, HttpClient

PacosonSWJTU的博客 1085

HttpClient 和 HttpURLConnection

目录 HttpClient 和 HttpURLConnection 1、Android网络访问简介 1、HttpClient 1.1、使用HttpClient实践GET请求 1.2、使用HttpClient实践POSt请求 2、HttpURLConnection HttpClient 和 HttpURLConnection 1、Android网络访问简介 在andro...

无问西东的博客 375

HttpClient与HttpURLConnection的请求方式

HttpURLConnection是java的标准类,HttpURLConnection继承自URLConnection,可用于向指定网站发送GET请求、POST请求。 /* * *下面是httpURLConnection的post请求 * @param  url  链接地址“http://host:8080/Login.ashx” * @param  params  上传参数 */

chanccie的专栏 8557
上一篇: 用jQuery 写前端 关于不执行的问题
下一篇: 你多久没有编程了(java),还记得这是哪的配置文件吗?java框架配置文件全解
Codegeek_jfl
博客等级 码龄11年 13粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值