首頁 後端開發 Golang 使用http.Client函數發送客製化的HTTP請求並取得回應狀態碼及回應內容,並設定逾時時間

使用http.Client函數發送客製化的HTTP請求並取得回應狀態碼及回應內容,並設定逾時時間

Jul 24, 2023 pm 03:27 PM
httpclient 獲取回應 發送請求

使用http.Client函數發送客製化的HTTP請求並取得回應狀態碼及回應內容,並設定逾時時間

在Go語言中,我們可以使用net/http包來發送HTTP請求並獲取回應。其中,可以使用http.Client類型來傳送客製化的HTTP請求,並設定逾時時間。

建立HTTP客戶端
首先,我們需要建立一個http.Client類型的對象,用於傳送HTTP請求。可以透過設定Transport欄位來設定HTTP傳輸相關的參數,例如代理,TLS配置等。預設情況下,http.DefaultTransport物件用於傳送請求,而http.DefaultClient物件則使用它。

以下是建立HTTP客戶端的範例程式碼:

client := &http.Client{
    Timeout: time.Second * 10,
}
登入後複製

在上述程式碼中,我們建立了一個HTTP客戶端物件client,並設定了逾時時間為10秒。

傳送HTTP請求
使用http.Client物件傳送HTTP請求,可以使用http.NewRequest函數建立一個新的http.Request對象,然後使用http.ClientDo方法傳送請求並取得回應。

以下是發送HTTP請求的範例程式碼:

req, err := http.NewRequest("GET", "https://example.com", nil)
if err != nil {
    log.Fatal(err)
}

resp, err := client.Do(req)
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()
登入後複製

在上述程式碼中,我們建立了一個GET請求,目標URL為https://example.com 。然後,我們使用client.Do(req)方法發送請求,並取得到resp物件作為回應。

取得回應狀態碼及內容
我們可以使用resp.StatusCode欄位來取得HTTP回應的狀態碼,使用ioutil.ReadAll函數來讀取回應內容。

以下是取得回應狀態碼及內容的範例程式碼:

statusCode := resp.StatusCode
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
    log.Fatal(err)
}
登入後複製

在上述程式碼中,我們使用resp.StatusCode來取得回應的狀態碼,使用ioutil.ReadAll函數來讀取回應內容,並將其儲存在body變數中。

完整範例
以下是一個完整的範例,示範如何使用http.Client傳送客製化的HTTP請求,並取得回應狀態碼及內容,並設定逾時時間:

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "time"
)

func main() {
    client := &http.Client{
        Timeout: time.Second * 10,
    }

    req, err := http.NewRequest("GET", "https://example.com", nil)
    if err != nil {
        log.Fatal(err)
    }

    resp, err := client.Do(req)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()

    statusCode := resp.StatusCode
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Response status code:", statusCode)
    fmt.Println("Response body:", string(body))
}
登入後複製

在上述程式碼中,我們建立了一個HTTP客戶端物件client,設定了逾時時間為10秒。然後,我們發送一個GET請求並取得到回應的狀態碼及內容,並列印輸出。

透過使用http.Client發送客製化的HTTP請求,並設定逾時時間,我們可以更靈活地發送HTTP請求,並根據回應的狀態碼及內容進行對應的處理。

以上是使用http.Client函數發送客製化的HTTP請求並取得回應狀態碼及回應內容,並設定逾時時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用Java 11中的HttpClient發送HTTP請求並處理回應 使用Java 11中的HttpClient發送HTTP請求並處理回應 Aug 01, 2023 am 11:48 AM

標題:使用Java11中的HttpClient發送HTTP請求並處理回應引言:在現代的網路應用程式中,與其他伺服器進行HTTP通訊是非常常見的任務。 Java提供了一些內建的工具,可以幫助我們實現這一目標,其中最新且建議使用的是Java11中引入的HttpClient類別。本文將介紹如何使用Java11中的HttpClient發送HTTP請求並處理回應,

如何使用golang中的http.Client進行HTTP請求的高階操作 如何使用golang中的http.Client進行HTTP請求的高階操作 Nov 18, 2023 am 11:37 AM

如何使用golang中的http.Client進行HTTP請求的高階操作引言:在現代開發中,HTTP請求是不可避免的一部分。 golang提供了強大的標準函式庫,其中包含了http套件。 http套件提供了http.Client結構體,用於發送HTTP請求和接收HTTP回應。在本文中,我們將探討如何使用http.Client進行HTTP請求的高階操作,並提供具體的程式碼示

如何使用Java中的httpclient進行重定向和請求轉送的比較 如何使用Java中的httpclient進行重定向和請求轉送的比較 Apr 21, 2023 pm 11:43 PM

這裡介紹一下:HttpClient4.x版本,get請求方法會自動進行重定向,而post請求方法不會自動進行重定向,這是要注意的地方。我上次發生錯誤,就是使用post提交表單登錄,當時沒有自動重定向。請求轉送和重定向的區別1、重定向是兩次請求,轉送是一次請求,因此轉送的速度要快於重定向。 2.重新導向之後網址列上的位址會發生變化,變化成第二次要求的位址,轉送之後網址列上的位址不會變化,還是第一次要求的位址。 3.轉發是伺服器行為,重定向是客戶端行為。重定向時瀏覽器上的網址改變,轉發是瀏覽器上的網址不變

如何使用Java HttpClient發送HTTP請求 如何使用Java HttpClient發送HTTP請求 Apr 20, 2023 pm 11:49 PM

1.導​​入依賴org.apache.httpcomponentshttpclient4.5.3com.alibabafastjson1.2.58org.apache.httpcomponentshttpmime4.5.3org.apache.httpcomponentshttpcore4.4.13org.slf4jslf4j-api1.7.72、postget1.72、postget1.當中幾種傳參方式都寫了,其中有get網址列傳參、get的params傳參、post的params傳參、post

使用http.Get函數發送GET請求並取得回應 使用http.Get函數發送GET請求並取得回應 Jul 24, 2023 pm 12:49 PM

使用http.Get函數發送GET請求並取得回應在網路程式設計中,發送HTTP請求是非常常見的操作。透過發送HTTP請求,我們可以獲取遠端伺服器上的資料或與其進行互動。在Go語言中,我們可以使用http套件來傳送HTTP請求,並使用http.Get函數發送GET請求並取得回應。 http.Get函數是http套件中提供的一個簡單的函數,它用於發送GET請求,並傳回一

使用Java 11中的新的HttpClient發送非同步HTTP請求並處理回應 使用Java 11中的新的HttpClient發送非同步HTTP請求並處理回應 Jul 31, 2023 pm 02:24 PM

使用Java11中的新的HttpClient發送非同步HTTP請求並處理回應在Java11中,新的HttpClient類別被引入,提供了強大的功能來發送HTTP請求並處理回應。相較於以往的HttpURLConnection,新的HttpClient更加容易使用,並且支援非同步操作,使得處理並發請求更加有效率。本文將介紹如何使用Java11中的新的HttpCli

Python HTTP請求詳解:傳送、接收和解析網路請求 Python HTTP請求詳解:傳送、接收和解析網路請求 Feb 24, 2024 pm 03:10 PM

在今天的網路世界中,Http請求已成為必不可少的技術,它允許我們與伺服器進行通信,獲取資料並執行各種操作。 python作為一門強大的程式語言,提供了豐富的函式庫和工具,使得HTTP請求變得更加容易實現。了解並掌握HTTP請求的原理和實作方法,對於開發人員至關重要。在本文中,我們將對PythonHTTP請求的基本流程進行詳細講解,包括發送請求、接收回應和解析回應。同時,我們將提供示範程式碼,幫助您快速掌握HTTP請求的實作方法。發送HTTP請求首先,您需要建立一個requests.Session()

分析Java中HttpClient的錯誤處理實例 分析Java中HttpClient的錯誤處理實例 May 08, 2023 am 11:07 AM

說明1、HttpClient非同步請求回傳CompletableFuture,其自帶的exceptionally方法可用於fallback處理。 2.HttpClient不像WebClient那樣,它不會出現4xx或5xx的狀態碼異常,需要根據自己的情況進行處理,手動檢測狀態碼異常或返回其他內容。實例@TestpublicvoidtestHandleException()throwsExecutionException,InterruptedException{HttpClientclient=Ht

See all articles