Adakah klien HTTP lalai GoLang secara automatik mencuba semula permintaan apabila pelayan tidak tersedia?

Patricia Arquette
Lepaskan: 2024-11-03 22:48:03
asal
320 orang telah melayarinya

Does GoLang's default HTTP client automatically retry requests when the server is unavailable?

Cuba Semula Automatik dalam Permintaan HTTP

Soalan:

Dalam GoLang, semasa cuba menolak data ke pelayan Apache, pelayan mungkin tidak tersedia buat sementara waktu. Adakah permintaan HTTP akan mencuba semula secara automatik dalam senario sedemikian?

Jawapan:

Tidak, klien HTTP lalai dalam GoLang tidak mencuba semula permintaan HTTP secara automatik.

Pelaksanaan Kaedah Cuba Semula:

Untuk melaksanakan mekanisme cuba semula tersuai, pertimbangkan contoh berikut:

<code class="go">package main

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

func main() {
    var (
        err      error
        response *http.Response
        retries  int = 3
    )
    for retries > 0 {
        response, err = http.Get("https://non-existent")
        if err != nil {
            log.Println(err)
            retries -= 1
        } else {
            break
        }
    }
    if response != nil {
        defer response.Body.Close()
        data, err := ioutil.ReadAll(response.Body)
        if err != nil {
            log.Fatal(err)
        }
        fmt.Printf("data = %s\n", data)
    }
}</code>
Salin selepas log masuk

Kod ini menunjukkan mekanisme percubaan semula asas, membenarkan maksimum tiga percubaan semula sebelum gagal. Permintaan HTTP berulang kali dikeluarkan sehingga ia berjaya atau bilangan percubaan semula yang ditentukan telah habis.

Atas ialah kandungan terperinci Adakah klien HTTP lalai GoLang secara automatik mencuba semula permintaan apabila pelayan tidak tersedia?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!