ttponnection从网上获取son数据并解析详解t一zhai男

HttpURLConnection从网上获取Json数据并解析

1、HttpURLConnection请求数据的步骤

(1)构造一个URL接口地址:

(2)用URL来创建一个连接:

(3)设置请求方式(get/put):

(4)设置需要的头设定(下面是申请天气预报服务的例子):

(5)连接:

到这里为止就已经连上了网络提供的接口地址。这里的setRequestProperty()需要讲解下。

2、setRequestProperty浅谈

作用:告诉服务器你需要的服务。如编码、请求数据方式、是否使用缓存等等,用这个方法告诉服务器,然后服务器才会尽量按照你的要求给你传输数据,如果什么都不设置,服务器就按缺省配置传递内容给你[1]。

Header

解释

示例

Accept

指定客户端能够接收的内容类型

Accept: text/plain, text/html

Accept-Charset

浏览器可以接受的字符编码集。

Accept-Charset: iso-8859-5

Accept-Encoding

指定浏览器可以支持的web服务器返回内容压缩编码类型。

Accept-Encoding: compress, gzip

Accept-Language

浏览器可接受的语言

Accept-Language: en,zh

Accept-Ranges

可以请求网页实体的一个或者多个子范围字段

Accept-Ranges: bytes

Authorization

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Cache-Control

指定请求和响应遵循的缓存机制

Cache-Control: no-cache

Connection

表示是否需要持久连接。(HTTP 1.1默认进行持久连接)

Connection: close

Cookie

HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。

Cookie: $Version=1; Skin=new;

Content-Length

请求的内容长度

Content-Length: 348

Content-Type

请求的与实体对应的MIME信息

Content-Type: application/x-www-form-urlencoded

Date

Date: Tue, 15 Nov 2010 08:12:31 GMT

Expect

请求的特定的服务器行为

Expect: 100-continue

From

发出请求的用户的Email

Host

指定请求的服务器的域名和端口号

If-Match

只有请求内容与实体相匹配才有效

If-Match: “737060cd8c284d8af7ad3082f209582d”

If-Modified-Since

如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码

If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT

If-None-Match

如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变

If-None-Match: “737060cd8c284d8af7ad3082f209582d”

If-Range

如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag

If-Range: “737060cd8c284d8af7ad3082f209582d”

If-Unmodified-Since

If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT

Max-Forwards

Max-Forwards: 10

Pragma

用来包含实现特定的指令

Pragma: no-cache

Proxy-Authorization

Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Range

只请求实体的一部分,指定范围

Range: bytes=500-999

Referer

先前网页的地址,当前请求网页紧随其后,即来路

TE

客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息

TE: trailers,deflate;q=0.5

Upgrade

向服务器指定某种传输协议以便服务器进行转换(如果支持)

Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11

User-Agent

User-Agent的内容包含发出请求的用户信息

User-Agent: Mozilla/5.0 (Linux; X11)

Via

通知中间网关或代理服务器地址,通信协议

Warning

关于消息实体的警告信息

Warn: 199 Miscellaneous warning

注意事项:这个方法要在建立连接之前调用,即调用connect()方法之前。但connect方法可以不用明确调用,因为在调用getInputStream()方法时会检查连接是否已经建立,如果没有建立,则会调用connect()方法[4]。

3 代码

以下是HttpURLConnection获取数据的代码,是APIStore天气预报API里提供的示例代码

Json解析

以上是解析两次后的代码,得到的数据里面当然还包含json格式的数据,如果想要得到更深层次的内容,就继续解析即可。

THE END
0.【Python爬虫实战】从多类型网页数据到结构化JSON数据的高效提取在互联网爬虫的过程中,面对大量网页数据,理解和区分不同类型的数据至关重要。无论是网页上的文本、数值信息,还是图片、链接、表格等内容,每一种数据类型都有其独特的结构和解析方法。通过合理利用相应的提取策略,爬虫可以高效获取有价值的数据。本篇文章将深入探讨不同类型网页数据的解析方法,并以 JSON 数据为例,详jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk04=;652<
1.[爬虫实战]爬取json型数据java爬虫如何获取json相关实战案例:[爬虫实战] 爬取text型数据 相关爬虫专栏:JS逆向爬虫实战爬虫知识点合集爬虫实战案例 在爬取基础流程里,我们已经初步体验了爬虫的简单做法。这篇文章会进一步,较为详细的介绍大多数网页的爬取技巧与方式。 此篇文章用于大多数Content-type为json型的网站爬取。 jvzquC41dnuh0lxfp0tfv87623e99<7:;4?0c{ykenk0fnyckny03==268992
2.Java调用接口如何获取json数据解析后保存到数据库java这篇文章主要介绍了Java调用接口如何获取json数据解析后保存到数据库问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教+ 目录 Java调用接口获取json数据保存到数据库 今天给大家带来一个调用接口,来获取数据解析后再保存到数据库中的业务,业务中的Mapper和实体类我就不在这里写了,jvzquC41yy}/lk:30pku1jwvkerf1;<;27:/j}r
3.在SQLServer中使用JSON数据将同一数据库中的 NoSQL 和关系概念与 SQL Server 中的 JSON 数据合并jvzquC41fqit0vnetqyph}3eqo5{j6hp1uwm1{jncvoppjq/fczbdjxgu1ptqw4luqt.fjyc/uwm/|jtxgx0
4.jquery.ajax()怎么把获取来的内容转为JSON,并使用。以上代码需要注意的一点是:在写JSON格式数据内容的时候一定要注意格式的准确性,数组的标题一定要用双引号引起来,字符型的数据也一定要用双引号引起来,数值型的可以不用符号引入。 切记一定不要单引号、又引号混用,或者有的数组标题加了引号有的不加引号。这样虽然你解析的时候可以解析出目录树,但在实际应用过程序会出现很多隐患,比如在小程序调用时jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk03?>:7;:
5.Django获取前端数据的实现方式python获取json数据 1 2 3 4 5 6 7 8 9 10 11 12 13 class JsonData(View): def post(self, request): # request的body方法获取的是所有请求体的二进制数据 json_body = request.body print(json_body) # 把请求体的二进制数据转换为json格式 json_data = json.loads(json_body) #get方法键值对方式获取jvzquC41yy}/lk:30pku1jwvkerf1;<7;47/j}r
6.使用Java获取Json中的数据简单示例java开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,下面这篇文章主要给大家介绍了关于使用Java获取Json中的数据,文中通过实例代码介绍的非常详细,需要的朋友可以参考下+ 目录 使用com.alibaba.fastjson解析总结:一个花括号 { 放进JSONObject一次jvzquC41yy}/lk:30pku1jwvkerf1;=2;69/j}r
7.AI网络爬虫:用deepseek提取百度文心一言的智能体数据获取网页的响应,这是一个嵌套的json数据; 获取json数据中"data"键的值,然后获取其中"plugins"键的值,这是一个json数据,提取这个json数据中所有的键写入Excel文件的表头 ,提取这个json数据中所有键对应的值写入Excel文件的列 ; 保存Excel文件; 注意:每一步都输出信息到屏幕; 每爬取1页数据后暂停5-9秒; 需要对jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk04=83569
8.【Python爬虫实战】从多类型网页数据到结构化JSON数据的高效提取在互联网爬虫的过程中,面对大量网页数据,理解和区分不同类型的数据至关重要。无论是网页上的文本、数值信息,还是图片、链接、表格等内容,每一种数据类型都有其独特的结构和解析方法。通过合理利用相应的提取策略,爬虫可以高效获取有价值的数据。本篇文章将深入探讨不同类型网页数据的解析方法,并以 JSON 数据为例,详jvzquC41dnuh0lxfp0tfv87623e98?=:2:>0c{ykenk0fnyckny03=7964855