1. 程式人生 > 其它 >利用API實現獲取城市的天氣預報

利用API實現獲取城市的天氣預報

技術標籤:學習java網路

利用API實現獲取城市的天氣預報

一、網址的組成

協議://域名:埠號/虛擬路徑?引數列表#錨點

協議: 用於計算機與計算機之間交流的協議,用於傳輸速率,傳輸編碼,出錯的控制等。
常用協議:
http:超文字傳輸協議,預設埠號:80
https:安全超文字傳輸協議,預設埠號:443
域名:ip地址的別名。ip地址是計算機在網際網路中的唯一表示,192.168.1.1
埠號:範圍:0-65535,其中0~1023有特殊含義。
虛擬路徑:通過路徑的方式,來管理伺服器中的檔案資源。
引數列表:向伺服器傳送的資料,每一個引數都是一個鍵值對,鍵和值之間通過=號連線,多個鍵值對之間通過&分割。

二、獲取城市的天氣預報資訊

package weather;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Scanner;

public class test {
	public static void
main(String args[]) throws Exception { String wea=""; Scanner reader=new Scanner(System.in); System.out.println("請輸入要查詢天氣的城市:"); wea=reader.next(); String weather=URLEncoder.encode(wea+"天氣","UTF-8"); //1. 先準備一個URL類的物件 ur1 URL url = new URL("https://api.jisuapi.com/iqa/query?appkey=62958a3a6ef3c56d&question="
+wea); //2. 開啟伺服器連線,得到連線物件 conn URLConnection conn = url.openConnection(); //3. 獲取載入資料的位元組輸入流 is InputStream is = conn.getInputStream(); //4. 將is裝飾為能一次讀取一行的字元輸入流 br BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8")); //5. 載入一行資料 String text = br.readLine(); //6. 顯示 System.out.println(text); //7. 釋放資源 br.close(); } }

智慧機器人API伺服器地址
https://api.jisuapi.com/iqa/query
引數列表
appkey(祕鑰):62958a3a6ef3c56d
question:與智慧機器人的聊天內容

三、效果

在這裡插入圖片描述

四、參考連結

利用API實現獲取城市的天氣預報資訊和給指定手機號碼傳送驗證碼——基於Java