日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java怎么获取城市气温_获取城市天气数据

發(fā)布時間:2024/1/23 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java怎么获取城市气温_获取城市天气数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

中華萬年歷API

抓包中華萬年歷得到的接口(JSON):

http://wthrcdn.etouch.cn/weather_mini?city=北京

通過城市名字獲得天氣數(shù)據(jù),json數(shù)據(jù)

http://wthrcdn.etouch.cn/weather_mini?citykey=101010100

通過城市id獲得天氣數(shù)據(jù),json數(shù)據(jù)

數(shù)據(jù)和中國天氣網(wǎng)(www.weather.com.cn)一致

數(shù)據(jù):

{

"desc": "OK",

"status": 1000,

"data": {

"wendu": "22",

"ganmao": "各項氣象條件適宜,無明顯降溫過程,發(fā)生感冒機(jī)率較低。",

"forecast": [{

"fengxiang": "南風(fēng)",

"fengli": "3-4級",

"high": "高溫 26℃",

"type": "多云",

"low": "低溫 13℃",

"date": "28日星期四"

},

{

"fengxiang": "無持續(xù)風(fēng)向",

"fengli": "微風(fēng)級",

"high": "高溫 28℃",

"type": "多云",

"low": "低溫 15℃",

"date": "29日星期五"

},

{

"fengxiang": "無持續(xù)風(fēng)向",

"fengli": "微風(fēng)級",

"high": "高溫 31℃",

"type": "晴",

"low": "低溫 15℃",

"date": "30日星期六"

},

{

"fengxiang": "無持續(xù)風(fēng)向",

"fengli": "微風(fēng)級",

"high": "高溫 29℃",

"type": "多云",

"low": "低溫 20℃",

"date": "1日星期天"

},

{

"fengxiang": "北風(fēng)",

"fengli": "4-5級",

"high": "高溫 26℃",

"type": "小到中雨",

"low": "低溫 13℃",

"date": "2日星期一"

}],

"yesterday": {

"fl": "微風(fēng)",

"fx": "無持續(xù)風(fēng)向",

"high": "高溫 19℃",

"type": "小雨",

"low": "低溫 12℃",

"date": "27日星期三"

},

"aqi": "118",

"city": "北京"

}

}

XML

http://wthrcdn.etouch.cn/WeatherApi?citykey=101010100

通過城市id獲得天氣數(shù)據(jù),xml文件數(shù)據(jù),

當(dāng)錯誤時會有節(jié)點

http://wthrcdn.etouch.cn/WeatherApi?city=北京

通過城市名字獲得天氣數(shù)據(jù),xml文件數(shù)據(jù)

數(shù)據(jù):

北京

18:45

22

2級

33%

東南風(fēng)

05:19

19:06

118

61

兒童、老年人及心臟、呼吸系統(tǒng)疾病患者人群應(yīng)減少長時間或高強(qiáng)度戶外鍛煉

輕度污染

臭氧8小時

185

1

101

4

24

18:00:00

27日星期三

高溫 19℃

低溫 12℃

小雨

無持續(xù)風(fēng)向

微風(fēng)

無持續(xù)風(fēng)向

微風(fēng)

28日星期四

高溫 26℃

低溫 13℃

多云

南風(fēng)

3-4級

多云

無持續(xù)風(fēng)向

微風(fēng)級

29日星期五

高溫 28℃

低溫 15℃

多云

無持續(xù)風(fēng)向

微風(fēng)級

無持續(xù)風(fēng)向

微風(fēng)級

30日星期六

高溫 31℃

低溫 15℃

無持續(xù)風(fēng)向

微風(fēng)級

多云

無持續(xù)風(fēng)向

微風(fēng)級

1日星期天

高溫 29℃

低溫 20℃

多云

無持續(xù)風(fēng)向

微風(fēng)級

小雨

無持續(xù)風(fēng)向

微風(fēng)級

2日星期一

高溫 26℃

低溫 13℃

小到中雨

北風(fēng)

4-5級

多云

北風(fēng)

3-4級

晨練指數(shù)

適宜

天氣不錯,空氣清新,是您晨練的大好時機(jī),建議不同年齡段的人們積極參加戶外健身活動。

舒適度

較舒適

白天天氣晴好,您在這種天氣條件下,會感覺早晚涼爽、舒適,午后偏熱。

穿衣指數(shù)

舒適

建議著長袖T恤、襯衫加單褲等服裝。年老體弱者宜著針織長袖襯衫、馬甲和長褲。

感冒指數(shù)

少發(fā)

各項氣象條件適宜,無明顯降溫過程,發(fā)生感冒機(jī)率較低。

晾曬指數(shù)

適宜

天氣不錯,適宜晾曬。趕緊把久未見陽光的衣物搬出來吸收一下太陽的味道吧!

旅游指數(shù)

適宜

天氣較好,但絲毫不會影響您出行的心情。溫度適宜又有微風(fēng)相伴,適宜旅游。

紫外線強(qiáng)度

中等

屬中等強(qiáng)度紫外線輻射天氣,外出時建議涂擦SPF高于15、PA+的防曬護(hù)膚品,戴帽子、太陽鏡。

洗車指數(shù)

較適宜

較適宜洗車,未來一天無雨,風(fēng)力較小,擦洗一新的汽車至少能保持一天。

運動指數(shù)

較適宜

天氣較好,戶外運動請注意防曬,推薦您在室內(nèi)進(jìn)行低強(qiáng)度運動。

約會指數(shù)

適宜

天氣較好,和戀人一起徜徉于熙攘人群中或漫步于柔軟草地上,都是不錯的主意哦。

雨傘指數(shù)

不帶傘

天氣較好,不會降水,因此您可放心出門,無須帶雨傘。

java code:

package com.topsports.util;

import java.io.BufferedInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.zip.GZIPInputStream;

import org.apache.http.HttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

/**

* 天氣預(yù)報工具類(調(diào)用中華萬年歷接口獲取)

* @author sun.xh

* @date 2018-08-02

*/

public class WeatherUtil {

private static Logger logger = LogManager.getLogger(WeatherUtil.class);

/**

* 獲取今天實時天氣

* @param cityName 城市名稱

* @return type

*/

public static String getTodayWeather(String cityName){

String res = null;

try {

JSONArray array = getWeather(cityName);

if (array != null && !array.isEmpty()) {

JSONObject today = array.getJSONObject(0);

res = today.getString("type");

}

} catch (Exception e) {

logger.error("獲取天氣失敗", e);

}

return res;

}

/**

* 獲取最近幾天天氣 + 昨日天氣

* @param cityName

* @return jsonArray

*/

public static JSONArray getWeather(String cityName) {

String url = "http://wthrcdn.etouch.cn/weather_mini?city=" + cityName;

JSONArray array = null;

CloseableHttpClient httpClient = HttpClients.createDefault();

try {

HttpGet httpGet = new HttpGet(url);

HttpResponse httpResponse = httpClient.execute(httpGet);

String result = getJsonStringFromGZIP(httpResponse);// 獲取到解壓縮之后的字符串

JSONObject jsonData = JSONObject.fromObject(result);

logger.info("請求天氣接口返回狀態(tài)如下:cityName:{}, status:{},desc:{}", cityName, jsonData.getString("status"), jsonData.getString("desc"));

if (jsonData.getString("desc").equals("OK")) {

JSONObject data = jsonData.getJSONObject("data");

array = data.getJSONArray("forecast");

}

} catch (Exception e) {

logger.error("獲取一周天氣數(shù)據(jù)失敗", e);

} finally {

try {

httpClient.close();

} catch (IOException e) {

logger.error("IO異常", e);

}

}

return array;

}

/**

* 解壓縮gzip

* @param response

* @return

*/

private static String getJsonStringFromGZIP(HttpResponse response) {

String jsonString = null;

try {

InputStream is = response.getEntity().getContent();

BufferedInputStream bis = new BufferedInputStream(is);

bis.mark(2);

// 取前兩個字節(jié)

byte[] header = new byte[2];

int result = bis.read(header);

// reset輸入流到開始位置

bis.reset();

// 判斷是否是GZIP格式

int headerData = getShort(header);

if (result != -1 && headerData == 0x1f8b) {

is = new GZIPInputStream(bis);

} else {

is = bis;

}

InputStreamReader reader = new InputStreamReader(is, "utf-8");

char[] data = new char[100];

int readSize;

StringBuffer sb = new StringBuffer();

while ((readSize = reader.read(data)) > 0) {

sb.append(data, 0, readSize);

}

jsonString = sb.toString();

bis.close();

reader.close();

} catch (Exception e) {

logger.error("解壓JSON異常", e);

}

return jsonString;

}

private static int getShort(byte[] data) {

return (int) ((data[0] << 8) | data[1] & 0xFF);

}

public static void main(String[] args) {

//測試獲取實時天氣

String res = getTodayWeather("深圳");

System.out.println(res);

}

}

總結(jié)

以上是生活随笔為你收集整理的java怎么获取城市气温_获取城市天气数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费毛片大全 | 久久久久亚洲av成人毛片韩 | 精品少妇人妻av一区二区 | 成人免费黄色大片 | 国模在线| 黑人精品一区二区三区 | 亚洲精品乱码久久久久久蜜桃麻豆 | 很黄的性视频 | 中文字幕av久久 | 成人免费视频视频 | 肉色丝袜脚交一区二区 | 亚洲成人播放器 | 日本伦理片在线播放 | 国产精品亚洲AV色欲三区不卡 | 特级淫片裸体免费看冫 | 偷拍精品一区二区三区 | 婷婷精品一区二区三区 | 成人免费看片98欧美 | 黄色岛国片 | 国产成人av一区二区 | 影音先锋成人资源网站 | 黄色大视频 | 国产女主播一区 | 成人福利小视频 | 九九爱精品| 精品一区二区三区无码视频 | aaaaa级少妇高潮大片免费看 | 中文在线中文资源 | 国产三级精品在线观看 | 偷偷操不一样的久久 | 国产精品av免费观看 | 精品视频入口 | 少妇肥臀大白屁股高清 | 久99| 性感美女被爆操 | 熟妇熟女乱妇乱女网站 | 99在线小视频 | 亚洲精品推荐 | 日韩综合久久 | 亚洲国产免费 | 国产精品传媒麻豆hd | 91综合久久| 欧美少妇15p | www.日本com| 日本少妇影院 | 日韩视频成人 | av网站在线看 | 精品黑人一区二区三区在线观看 | 亚洲国产精品综合久久久 | 日韩av一区二区三区在线观看 | av成人天堂 | 手机av片| 色久av| 精品人妻天天爽夜夜爽视频 | 久久亚洲在线 | 灌满闺乖女h高h调教尿h | 国产午夜精品一区二区理论影院 | 午夜亚洲国产 | 手机在线免费观看av | 成人高清在线观看 | 在线免费日韩 | 与子敌伦刺激对白播放的优点 | 精品人妻少妇一区二区三区 | 国产精品厕所 | 成人观看网站 | 黄色a站 | 色吊丝一区二区 | 一级做a在线观看 | 亚洲69视频 | 九九人人 | 日韩免费看 | 密臀久久 | 五月婷久久 | 偷拍一区二区三区 | 91黄色视屏 | 美女日日日 | 清纯粉嫩极品夜夜嗨av | 国产寡妇亲子伦一区二区三区四区 | 国产在线精品一区二区三区 | 免费国产视频 | 国产黄色片在线免费观看 | 欧美精品观看 | 草草久久久 | 国产又粗又硬又黄的视频 | 亚洲欧美日韩系列 | 中国少妇av | 五月婷婷六月激情 | 国产嫩草影院久久久 | 日韩欧美中文字幕在线播放 | 超碰在线观看91 | 国产二区一区 | 日韩欧美三级在线 | 精品一区二区国产 | av一区二 | 国产又大又粗又爽 | 欧美aa级| 女女互慰吃奶互揉调教捆绑 | av中文字幕一区 | 国产精品视频1区 |