1. 程式人生 > >二、get方法的請求和測試

二、get方法的請求和測試


import java.io.IOException;
import java.util.HashMap;

import org.apache.http.Header;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import org.json.JSONString;

public class RestClient {

    
    public void get(String url) throws Exception {
        //建立一個可關閉的HttpClient物件  
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //建立一個HttpGet的請求物件  
        HttpGet get = new HttpGet(url);
        //執行請求,相當於postman上點擊發送按鈕,然後賦值給HttpResponse物件接收
        CloseableHttpResponse httpResponse = httpClient.execute(get);
        
        //獲取響應的程式碼
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        System.out.println("獲取響應的程式碼"+statusCode);
        //把響應的內容存在字串中
        String responseString  = EntityUtils.toString(httpResponse.getEntity(),"utf-8");
        System.out.println(responseString);
        //建立Json物件,把上面你的字串序列化為Json物件
        JSONObject jsonObject = new JSONObject(responseString);
        System.out.println("respon json from API-->" + jsonObject);
        //獲取響應頭資訊,返回是一個數組  
        Header[] headerArray = httpResponse.getAllHeaders();  
        //建立一個hashmap物件,通過postman可以看到請求響應頭資訊都是Key和value得形式,所以我們想起了HashMap  
        HashMap<String, String> hm = new HashMap<String, String>();  
        //增強for迴圈遍歷headerArray陣列,依次把元素新增到hashmap集合  
        for(Header header : headerArray) {  
            hm.put(header.getName(), header.getValue());  
        }  
          
        //列印hashmap  
        System.out.println("response headers -->"+ hm);  
          
    }
    public static void main(String[] args) {
        RestClient client = new RestClient();
        try {
            client.get("https://reqres.in/api/users");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

相關推薦

get方法請求測試

import java.io.IOException;import java.util.HashMap;import org.apache.http.Header;import org.apache.http.client.ClientProtocolException;import org.apache.h

【Android Studio安裝部署系列】Android studio自動生成setget方法

setter 自動生成 全選 style 原創文章 back .com 安裝部署 dash 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 操作步驟 將光標放置我們所要生成get,set方法的實體類空白處——然後右鍵—&mdas

java介面自動化4——PUTDelete請求方法封裝測試

接著上面一篇,這篇來封裝下PUT和Delete方法。雖然這兩個方法很少用,這篇內容就算了解一下。PUT方法封裝完成參考POST方法,Delete方法封裝可以參考GET方法。由於弄明白了前面的Get和Post方法封裝過程,現在就直接貼出封裝方法和測試程式碼。 1.PUT和Deletet方法 p

列表的初識操作方法

containe and 推導式 python str bsp -a 任意數據類型 類型 1.列表的初識 why:int bool str str:存儲少量數據 ,如:‘123 True 太白‘ str:無論對其切片還是進行任何其他操作,獲取的

Redis命令行配置文件redis.windows.conf

存在 默認 localhost 字符串 con all get bsp 多行 一、Redis發送命令的兩種方式 redis-cli -h localhost -p 6379redis-cli ping 返回pong 證明正常 二、命令返回值 1、狀態回復,如ping命令

匿名函數閉包

lee 內存問題 基於 傳參 不能 更多 垃圾 資源 增強 十二、匿名函數和閉包 匿名函數就是沒有名字的函數,閉包是可訪問一個函數作用域裏變量的函數。聲明:本節內容需要有面向對象和少量設計模式基礎,否則無法聽懂. 1.匿名函數 //普通函數 function b

HashMap底層原理分析(putget方法

return sta rec oca ati 技術分享 AI TP load 1、HashMap底層原理分析(put、get方法) HashMap底層是通過數組加鏈表的結構來實現的。HashMap通過計算key的hashCode來計算hash值,只要hashCode一樣

【面試必問】python實例方法方法@classmethod靜態方法@staticmethod屬性方法@property區別

區別 實例 實例變量 對象 s參數 pro 當前 靜態方法 實例方法 【面試必問】python實例方法、類方法@classmethod、靜態方法@staticmethod和屬性方法@property區別 1、#類方法@classmethod,只能訪問類變量,不能訪問實例變量

java介面自動化2——get方法重構json解析

我們介紹了Get方法的設計過程和測試結果,現在我們需要對前面程式碼進行重構和修改,本篇主要的工作如下 : 1)重構Get方法 2)如何進行JSON解析 3)使用TestNG方法進行測試斷言 1、重構Get方法  前面一篇寫的Get方法比較繁瑣,不光寫了如何進行Get請求

Kafka 學習——一Kafka 的安裝測試

一、Kafka 安裝 1.1 Zookeeper 的安裝 進入需要安裝的目錄 (此處以 /usr/software 為準) tar -zxvf /mnt/hgfs/share-file/zookeeper-3.4.13 sudo vim /etc/profil

神經網路中訓練資料集驗證資料集測試資料集的區別

whats the difference between train, validation and test set, in neural networks? Answer: The training and validation sets are used during t

Git使用(分支的建立上傳)

 介紹使用TortoiseGit建立分支並push到gitlab專案庫,轉載請註明出處。 一、建立一個新的資料夾,把要待編輯的工程從gitlab上pull到該資料夾。 其中URL從gitlab的對應專案中複製 、 Pull完成後:   二、建立本地分支 右鍵資料夾空白

python靜態屬性@property方法@classmethod靜態方法@staticmethod普通方法

靜態屬性:即將類的函式通過@property屬性封裝,封裝後例項呼叫該函式時,不再需要在函式後面加(),而是用類似呼叫資料屬性的方式直接呼叫函式名稱即可執行函式。 靜態屬性既可以訪問類的屬性,也可以訪問例項的屬性。 類方法:即在類的函式前加@classmethod屬性,函式第一個引數為cls類,表示該函式

SpringBoot表單驗證AOP處理請求統一異常處理

表單驗證 假如表單引數很多,用@RequestParam方式就不合適了,引數中可直接使用@Valid Girl gir /** * 新增一個女生 * @return */ @PostMapping(value = "/a

為什麼以下網址用PYTHON裡的Requests.get方法請求失敗呢?

“http:\zhangmenshiting.qianqian.com\data2\music\9be7ef0fee5454a9048fb0d84e352630\601427401\601427401.m4a?xcode=6f7f96b0e3ad7362d1fc

省去SetGet方法

在IDEA中,可以通過安裝   lombok-plugin-0.19-2018.1  外掛,來省去經常要寫的Set、Get方法。 離線安裝外掛下載地址 http://plugins.jetbrains.com/plugin/6317-lombok-plugi

Java實現http(postget請求

package com.wolaidai.credit.management.utils; import com.alibaba.fastjson.JSON; import org.apache.commons.logging.Log; import org.apache

微信小程式實現快遞查詢功能(介面傳值JSON資料請求解析radio-group的使用...)

執行效果: 請求資料之前需要首先在小程式平臺設定伺服器域名 第一個介面的實現:介面傳值、radio-group的使用 first.wxml <!--first.wxml--&g

表單提交Post方法Get方法背後的祕密

        表單用來接受使用者的輸入,並將使用者的輸入以“name=value值對”集合的形式提交到伺服器進行處理。那麼表單是怎樣將資料提交到伺服器的?伺服器是怎樣對錶單資料進行處理的?下面我將為大家揭開表單提交背後的祕密 表單用<form></form> 標記定義,表單

Java中常見的設計模式---簡單工廠模式工廠方法模式單例模式

在講設計模式之前,我們首先來說一下面向物件思想的設計原則,在實際的開發中,我們要想更深入的瞭解面向物件思想,就必須熟悉前人總結過的面向物件的思想的設計原則:1.單一職責原則:“高內聚,低耦合”,也就是說,每個類應該只有一個職責,對外只能提供一種功能,而引起類變化的原因應該只有