国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java中使用hutool調(diào)用get請(qǐng)求,post請(qǐng)求

這篇具有很好參考價(jià)值的文章主要介紹了java中使用hutool調(diào)用get請(qǐng)求,post請(qǐng)求。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、hutool工具包實(shí)現(xiàn)

1、get請(qǐng)求

// url:鏈接地址,params:填充在url中的參數(shù), useProxy:是否使用代理
// proxyHost:代理地址, proxyPort:代理端口號(hào)
public String httpGet(String url, String params, String useProxy) {
        String requestUrl = url;
        if (StringUtils.isNotBlank(params)) {
            requestUrl = url + "?" + params;
        }
        String respData = null;
        log.info("httpGet req is 【{}】", params);
        HttpRequest httpRequest = HttpRequest.get(requestUrl).timeout(socketTimeout).header("token", 
                "application/json");
        if ("Y".equalsIgnoreCase(useProxy)) {
            log.info(String.format("使用代理"));
            httpRequest.setProxy(new Proxy(Proxy.Type.HTTP,
                    new InetSocketAddress(proxyHost, Integer.parseInt(proxyPort))));
        }
        respData = httpRequest.execute().body();
        log.info(String.format("HttpsUtil:httpGet | 請(qǐng)求信息:%s | 響應(yīng)信息: %s", httpRequest.getUrl(), respData));
        return respData;
    }

2、post請(qǐng)求

    
// url:鏈接地址,params:填充在url中的參數(shù), sendBodyData:body, useProxy:是否使用代理
// proxyHost:代理地址, proxyPort:代理端口號(hào)
public String httpPost(String url, String params, String sendBodyData, String useProxy) {
        String requestUrl = url;
        if (StringUtils.isNotBlank(params)) {
            requestUrl = url + "?" + params;
        }
        String respData = null;
        log.info("httpPost req is 【{}】", sendBodyData);
        HttpRequest httpRequest = HttpRequest.post(requestUrl).timeout(socketTimeout).header("Content-Type", "application/json");
        if ("Y".equalsIgnoreCase(useProxy)) {
            log.info(String.format("使用代理"));
            httpRequest.setProxy(new Proxy(Proxy.Type.HTTP,
                    new InetSocketAddress(proxyHost, Integer.parseInt(proxyPort))));
        }
        if (StringUtils.isNotBlank(sendBodyData)) {
            httpRequest.body(sendBodyData);
        }
        respData = httpRequest.execute().body();
        log.info(String.format("HttpsUtil:httpPost | 請(qǐng)求信息:%s | 響應(yīng)信息: %s", httpRequest.getUrl(), respData));
        return respData;
    }

二、java net實(shí)現(xiàn)

1、java中http協(xié)議調(diào)用get請(qǐng)求

package com.bjbn.app.tianfu.mq.util;



import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;


public class GetMessage {

    public static String getHttpRequestData(String data) {


        // 首先抓取異常并處理
        String returnString = "1";
        try{
            // 代碼實(shí)現(xiàn)以GET請(qǐng)求方式為主,POST跳過(guò)
            /** 1 GET方式請(qǐng)求數(shù)據(jù) start*/
            StringBuilder sb = new StringBuilder();
            String urlP = "http://localhost:8500/main/dataAnalysis?data=";
            sb.append(urlP);
            data = URLEncoder.encode(data,"UTF-8");
            sb.append(data);


            // 1  創(chuàng)建URL對(duì)象,接收用戶傳遞訪問(wèn)地址對(duì)象鏈接
            URL url = new URL(sb.toString());

            // 2 打開(kāi)用戶傳遞URL參數(shù)地址
            HttpURLConnection connect = (HttpURLConnection) url.openConnection();

            // 3 設(shè)置HTTP請(qǐng)求的一些參數(shù)信息
            connect.setRequestMethod("GET"); // 參數(shù)必須大寫(xiě)
            connect.connect();


            // 4 獲取URL請(qǐng)求到的數(shù)據(jù),并創(chuàng)建數(shù)據(jù)流接收
            InputStream isString = connect.getInputStream();

            // 5 構(gòu)建一個(gè)字符流緩沖對(duì)象,承載URL讀取到的數(shù)據(jù)
            BufferedReader isRead = new BufferedReader(new InputStreamReader(isString));

            // 6 輸出打印獲取到的文件流
            String str = "";
            while ((str = isRead.readLine()) != null) {
                str = new String(str.getBytes(),"UTF-8"); //解決中文亂碼問(wèn)題
//          System.out.println("文件解析打?。?);
//          System.out.println(str);
                returnString = str;
            }

            // 7 關(guān)閉流
            isString.close();
            connect.disconnect();

            // 8 JSON轉(zhuǎn)List對(duì)象
            // do somthings

        }catch(Exception e){
            e.printStackTrace();
        }

        return returnString;
    }

    public static void main(String[] args) {
        String data = "111111";
        String httpRequestData = getHttpRequestData(data);
        System.out.println(httpRequestData);

    }
}

2、java中https協(xié)議調(diào)用get請(qǐng)求文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-510383.html

 
 
import javax.net.ssl.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
 
public class HttpUtils1 {
	private static final String ENCODING = "UTF-8";
 
 
	public static void main(String args[]) {
 
		// get方式調(diào)用接口 
		String resultString = httpGet("https://xxxxx?systemCode=1&apiCode=1&accessCode=xxxx");
 
		// 獲取接口信息
		System.out.println(resultString);
	}
 
 
	final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
		public boolean verify(String hostname, SSLSession session) {
			return true;
		}
	};
	/**
	 * Trust every server - dont check for any certificate
	 */
	private static void trustAllHosts() {
		final String TAG = "trustAllHosts";
		// Create a trust manager that does not validate certificate chains
		TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
			public X509Certificate[] getAcceptedIssuers() {
				return new X509Certificate[] {};
			}
			public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
			}
			public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
			}
		} };
		// Install the all-trusting trust manager
		try {
			SSLContext sc = SSLContext.getInstance("TLS");
			sc.init(null, trustAllCerts, new java.security.SecureRandom());
			HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
 
 
	public static String httpGet(String httpUrl) {
		BufferedReader input = null;
		StringBuilder sb = null;
		URL url = null;
		HttpURLConnection con = null;
		try {
			url = new URL(httpUrl);
			try {
				// trust all hosts
				trustAllHosts();
				HttpsURLConnection https = (HttpsURLConnection)url.openConnection();
				if (url.getProtocol().toLowerCase().equals("https")) {
					https.setHostnameVerifier(DO_NOT_VERIFY);
					con = https;
				} else {
					con = (HttpURLConnection)url.openConnection();
				}
				input = new BufferedReader(new InputStreamReader(con.getInputStream()));
				sb = new StringBuilder();
				String s;
				while ((s = input.readLine()) != null) {
					sb.append(s).append("\n");
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (MalformedURLException e1) {
			e1.printStackTrace();
		} finally {
			// close buffered
			if (input != null) {
				try {
					input.close();
				} catch (IOException e) {
					e.printStackTrace();
				}}
 
			// disconnecting releases the resources held by a connection so they may be closed or reused
			if (con != null) {
				con.disconnect();
			}
		}
		return sb == null ? null : sb.toString();
	}
}

到了這里,關(guān)于java中使用hutool調(diào)用get請(qǐng)求,post請(qǐng)求的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用HuTool的Http工具發(fā)送post傳遞中文參數(shù),請(qǐng)求會(huì)亂碼的解決方法

    Hutool 是一款功能豐富、易用的Java工具類(lèi)庫(kù),我們?cè)诠ぷ髦薪?jīng)常會(huì)使用它的各種類(lèi)庫(kù)方法簡(jiǎn)化我們的開(kāi)發(fā),其中我們甚至能通過(guò)它的Http工具類(lèi)直接發(fā)送http的各種請(qǐng)求,下面來(lái)介紹一下發(fā)送post請(qǐng)求時(shí)參數(shù)中有中文出現(xiàn)亂碼的解決方法。 這樣就不會(huì)造成請(qǐng)求參數(shù)出現(xiàn)亂碼問(wèn)題

    2024年02月01日
    瀏覽(32)
  • hutool Http 工具發(fā)送POST請(qǐng)求的幾種方式

    ? ? ? ? 目錄 依賴 ??Maven ??Gradle 實(shí)踐 hutool源碼 hutool調(diào)用實(shí)踐 其它自定義項(xiàng) ????????本質(zhì)上,HttpUtil中的get和post工具方法都是HttpRequest對(duì)象的封裝,因此如果想更加靈活操作Http請(qǐng)求,可以使用HttpRequest。今天咱們就列舉一下hutool工具中常用的幾種發(fā)送post請(qǐng)求的方式。

    2024年02月08日
    瀏覽(23)
  • hutool Http 工具發(fā)送POST請(qǐng)求的幾種方式。

    Hutool是一個(gè)Java工具庫(kù),提供了豐富的功能模塊,包括HTTP請(qǐng)求發(fā)送。以下是使用Hutool發(fā)送POST請(qǐng)求的幾種方式: 使用HttpUtil.post方法: 使用HttpUtil.post方法可以發(fā)送簡(jiǎn)單的POST請(qǐng)求,示例如下: 使用HttpUtil.createPost方法: 使用HttpUtil.createPost方法可以創(chuàng)建一個(gè)HttpPost對(duì)象,然后設(shè)置

    2024年02月13日
    瀏覽(22)
  • Java 中使用 OkHttpClent 請(qǐng)求接口 get方式 post方式

    學(xué)習(xí)記錄,不喜勿噴 一般在Java平臺(tái)上,我們會(huì)使用Apache HttpClient作為Http客戶端,用于發(fā)送 HTTP 請(qǐng)求,并對(duì)響應(yīng)進(jìn)行處理。比如可以使用http客戶端與第三方服務(wù)(如SSO服務(wù))進(jìn)行集成,當(dāng)然還可以爬取網(wǎng)上的數(shù)據(jù)等。OKHttp與HttpClient類(lèi)似,也是一個(gè)Http客戶端,提供了對(duì) HTTP/2 和

    2024年02月12日
    瀏覽(26)
  • 糊涂工具類(lèi)(hutool)post請(qǐng)求設(shè)置body參數(shù)為json數(shù)據(jù)

    大家好,我是雄雄,歡迎關(guān)注微信公眾號(hào) 雄雄的小課堂 今天介紹一個(gè)案例,糊涂工具類(lèi)(hutool)post請(qǐng)求設(shè)置body參數(shù)為json數(shù)據(jù),剛開(kāi)始寫(xiě)的總是報(bào)錯(cuò),下面是正確的代碼: 重點(diǎn)是下面的這行代碼:

    2024年02月16日
    瀏覽(26)
  • spring boot 單元測(cè)試JUnit5使用MockMvc調(diào)用get請(qǐng)求,post請(qǐng)求,設(shè)置head請(qǐng)求頭,解析返回值json和字符串

    spring boot 單元測(cè)試JUnit5使用MockMvc調(diào)用get/post接口 源碼地址:https://gitcode.net/qq_39339588/springboot.git 1. 先準(zhǔn)備一份controller,一會(huì)兒供測(cè)試調(diào)用 2. MockMvc測(cè)試調(diào)用get請(qǐng)求接口 兩個(gè)注解說(shuō)明 @SpringBootTest // 加測(cè)試類(lèi)上,標(biāo)明是測(cè)試的類(lèi) @AutoConfigureMockMvc // 支持對(duì)MockMvc對(duì)象的注入和配置,

    2024年02月14日
    瀏覽(24)
  • 使用hutool發(fā)送POST請(qǐng)求

    使用hutool發(fā)送POST請(qǐng)求

    之前使用Java程序發(fā)送請(qǐng)求都是使用的HttpURLConnection,不太方便,可以使用hutool封裝好的方法。 返回結(jié)果包括響應(yīng)頭和響應(yīng)體兩部分,其中響應(yīng)體是后端通過(guò)@ResponseBody返回的數(shù)據(jù);響應(yīng)頭包含一些其他信息,比如cookie。 hutool參考文檔

    2024年02月11日
    瀏覽(27)
  • 再談http請(qǐng)求調(diào)用(Post與Get),項(xiàng)目研發(fā)的核心一環(huán)

    再談http請(qǐng)求調(diào)用(Post與Get),項(xiàng)目研發(fā)的核心一環(huán)

    支持.Net Core(2.0及以上)與.Net Framework(4.0及以上) 【目錄】 前言 Post請(qǐng)求 Get請(qǐng)求 與其它工具的比較 ? 1【前言】 http請(qǐng)求調(diào)用是開(kāi)發(fā)中經(jīng)常會(huì)用到的功能。 在內(nèi),調(diào)用自有項(xiàng)目的Web Api等形式接口時(shí)會(huì)用到;在外,調(diào)用一些第三方功能接口時(shí),也會(huì)用到,因?yàn)?,這些第三方功能往

    2024年02月08日
    瀏覽(25)
  • java使用hutool工具類(lèi)發(fā)送http或者h(yuǎn)ttps請(qǐng)求太香啦

    我們使用java內(nèi)置的http工具實(shí)現(xiàn)遠(yuǎn)程調(diào)用的時(shí)候,都是用try catch包一堆代碼,巨難受,今天看見(jiàn)有人使用hutool工具類(lèi)那是天簡(jiǎn)單了呀,具體操作如下: 1,引入依賴 2, 如果不需要設(shè)置其他什么頭信息,代碼: 如果是https請(qǐng)求直接換url里面的http就行 返回信息格式: {\\\"code\\\":200

    2024年02月14日
    瀏覽(24)
  • Java發(fā)送HTTP GET/POST請(qǐng)求

    在這篇文章中,將向你展示四種發(fā)送Http的GET/POST的例子,如下: 在Java11的java.net.http.*包中,有一個(gè)HttpClient類(lèi)可以完成HTTP請(qǐng)求。 Java11HttpClientExample.java 本例使用HttpURLConnection(http)和HttpsURLConnection(https) HttpURLConnectionExample.java 使用Apache HttpClient完成HTTP請(qǐng)求的發(fā)送需要添加Maven依賴

    2024年02月13日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包