Golang ialah bahasa pengaturcaraan yang pantas, ringkas dan mudah digunakan Kecekapan dan pengalaman pembangunannya disambut baik oleh pembangun. Semasa pembangunan Golang, kami sering menghadapi situasi di mana kami perlu menyediakan hos, seperti menggunakan kod secara setempat untuk ujian, atau menghantar permintaan API ke pelayan yang ditetapkan untuk ujian persekitaran pengeluaran.
Artikel ini akan memperkenalkan cara menetapkan hos di Golang untuk membantu pembangun menyelesaikan masalah ini dengan cepat.
Dalam komunikasi rangkaian, hos ialah nama hos atau alamat IP yang mengenal pasti komputer pada rangkaian. Di Golang, menetapkan hos bermaksud menentukan nama hos atau alamat IP hos sasaran apabila memulakan permintaan rangkaian supaya permintaan itu boleh dihantar ke pelayan sasaran dengan betul.
Di Golang, gunakan kaedah http.NewRequest untuk membuat permintaan HTTP baharu. Kaedah ini memerlukan tiga parameter:
Dalam kaedah ini, anda boleh menggunakan kaedah url.URL.Parse untuk menghuraikan URL dan menetapkan hos kepada nama hos sasaran atau alamat IP. Kod sampel adalah seperti berikut:
import ( "net/http" "net/url" ) func main() { req, _ := http.NewRequest("GET", "http://example.com", nil) req.URL, _ = url.Parse("http://127.0.0.1:8080") client := &http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() // 处理 HTTP 响应 }
Dalam kod sampel ini, kami membuat permintaan GET, URL permintaan ialah "http://example.com", dan kemudian gunakan kaedah url.URL.Parse untuk tetapkan hos kepada " 127.0.0.1:8080", dan akhirnya gunakan http.Client untuk memulakan permintaan dan mendapatkan respons.
Di Golang, http.DefaultTransport ialah pelaksanaan pengangkutan lalai klien HTTP. Secara lalai, ia menggunakan protokol TCP untuk menghantar data, tetapi anda juga boleh menyesuaikan tingkah laku penghantaran pelanggan menggunakan fungsi Dailnya. Kita boleh menggunakan ciri ini untuk menetapkan hos.
Kod sampel adalah seperti berikut:
import ( "net/http" "net" ) func main() { transport := &http.Transport{ Dial: func(network, address string) (net.Conn, error) { addr := "127.0.0.1:8080" return net.Dial(network, addr) }, } client := &http.Client{Transport: transport} resp, _ := client.Get("http://example.com") defer resp.Body.Close() // 处理 HTTP 响应 }
Dalam kod sampel ini, kami mencipta contoh http.Transport dan mengatasi fungsi Dailnya untuk mewujudkan sambungan menggunakan alamat IP dan nombor port yang ditentukan. Kami kemudian membuat contoh http.Client dengan pengangkutan di atas sebagai nilai Pengangkutannya. Akhir sekali, kami menggunakan kaedah Dapatkan http.Client untuk memulakan permintaan GET dan mendapatkan respons.
Artikel ini menunjukkan dua kaedah menetapkan hos di Golang. Menggunakan kaedah ini, pembangun boleh dengan mudah menggunakan nama hos atau alamat IP yang berbeza dalam pembangunan dan ujian, dan boleh menetapkan hos yang berbeza untuk permintaan yang berbeza. Melalui teknik ini, kecekapan pembangunan program Golang akan bertambah baik, menjadikan kebolehbacaan dan kebolehselenggaraan kod bertambah baik.
Atas ialah kandungan terperinci hos set golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!