java發起網絡請求

//整個代碼只需要改url就可以了
package com.demo.service;
//我的這個請求是在項目中的,放在Service層了,使用的時候隨便放就行了,放上訪問就可以了
//下面的這些是需要導的包,直接複製就行
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;
@Service
public class RequService {

    public JSONObject connectMethod(){
        String resultStr = "";
        BufferedReader in = null;
        try {
        //url鏈接改成自己要訪問的地址,參數的話我是直接寫到地址後面了;我訪問的高德地圖的接口
            String url = "https://restapi.amap.com/v3/config/district?subdistrict=4&key=改成自己的key";
            URL rea = new URL(url);//封裝爲URL類
            //打開和URL之間的連接
            HttpURLConnection connection = (HttpURLConnection) rea.openConnection();
            connection.setRequestMethod("GET");//設置請求屬性
            //設置通用請求方式(模擬window瀏覽器訪問,直接複製,不需要改 應該是爬蟲技術)
            connection.setRequestProperty("accept","*/*");
            connection.setRequestProperty("connection","Keep_Alive");
            connection.setRequestProperty("user-agent",
                    "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1)");
            connection.connect();//建立實際的連接
            //到這裏連接應該已經建立結束了,下面的就是獲取數據保存了,我這裏獲取的是JSON數據
            //獲取所有相應頭字段
            Map<String, List<String>> map = connection.getHeaderFields();
            //定義bufferReader輸入流來讀取URL的相應
            in = new BufferedReader(new InputStreamReader(
                    connection.getInputStream()
            ));
            String line;
            while ((line = in.readLine()) != null){
                resultStr += line;
            }
            JSONObject parseObject = JSON.parseObject(resultStr);
            return parseObject;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

}
發佈了23 篇原創文章 · 獲贊 20 · 訪問量 9203
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章