Bagaimana untuk melarikan diri url golang

PHPz
Lepaskan: 2023-04-05 13:53:23
asal
1977 orang telah melayarinya

Di Golang, URL escape ialah proses menukar rentetan URL kepada rentetan selamat URL. Rentetan URL ialah rentetan yang menggabungkan pelbagai aksara, termasuk huruf, nombor, simbol, dsb. Walau bagaimanapun, URL HTTP perlu ditukar kepada rentetan selamat untuk memastikan tiada masalah akan berlaku semasa penghantaran rangkaian, yang memerlukan melepaskan rentetan URL.

Terdapat dua kaedah melarikan diri untuk melarikan diri URL, satu adalah untuk melarikan diri daripada aksara yang dikhaskan dan yang lain adalah untuk melarikan diri daripada aksara bukan ASCII. Kedua-dua kaedah melarikan diri ini digunakan untuk mengelakkan ralat yang disebabkan oleh aksara khas dalam rentetan URL.

Escape reserved characters

Reserved characters merujuk kepada aksara dengan makna istimewa dalam rentetan URL, seperti ruang, bar menegak, tanda soal, tanda peratus, dsb. Aksara ini perlu dilepaskan apabila digunakan dalam URL.

Di Golang, URL escaping menyediakan dua kaedah, satu ialah menggunakan fungsi Escape dalam pakej net/url, dan satu lagi ialah menggunakan fungsi EscapeString. Fungsi Escape digunakan untuk melepaskan aksara khas dalam rentetan URL, dan fungsi EscapeString digunakan untuk melepaskan keseluruhan rentetan URL. Berikut ialah contoh:

package main

import (
    "fmt"
    "net/url"
)

func main() {
    urlString := "http://www.example.com/path with spaces"
    escapedString := url.QueryEscape(urlString)
    fmt.Println("Escaped string:", escapedString)
}
Salin selepas log masuk

Hasil output ialah:

Escaped string: http%3A%2F%2Fwww.example.com%2Fpath+with+spaces
Salin selepas log masuk

Seperti yang anda lihat, ruang dilepaskan ke "+", dan aksara seperti titik bertindih, garis miring dan tempoh Escaped kepada nilai kod ASCIInya.

Meloloskan diri aksara bukan ASCII

Selain aksara tempah yang perlu dilepaskan, anda juga perlu memberi perhatian kepada pelarian aksara bukan ASCII apabila menggunakan URL. Aksara bukan ASCII merujuk kepada aksara dalam jadual pengekodan Unicode Aksara ini perlu dilupuskan dengan menukarnya kepada bentuk %HH, dengan HH mewakili nilai perenambelasan aksara dalam jadual pengekodan Unikod.

Di Golang, URL yang melarikan diri daripada aksara bukan ASCII memerlukan penggunaan fungsi PathEscape dalam pakej net/url Kod sampel adalah seperti berikut:

package main

import (
    "fmt"
    "net/url"
)

func main() {
    urlString := "http://www.example.com/你好"
    escapedString := url.PathEscape(urlString)
    fmt.Println("Escaped string:", escapedString)
}
Salin selepas log masuk

Hasil output ialah:

Escaped string: http://www.example.com/%E4%BD%A0%E5%A5%BD
Salin selepas log masuk

Seperti yang anda boleh lihat, aksara bukan ASCII "Hello" dikeluarkan dalam bentuk %E4%BD%A0%E5%A5%BD, iaitu nilai heksadesimal bagi aksara dalam jadual pengekodan Unicode.

Ringkasan

Di Golang, URL melarikan diri adalah kemahiran yang sangat penting. Dengan melarikan diri daripada aksara tersimpan dan aksara bukan ASCII dalam rentetan URL, anda boleh memastikan bahawa tidak akan ada masalah semasa penghantaran rangkaian. Dalam pembangunan sebenar, adalah perlu untuk mempunyai pemahaman yang mendalam tentang peraturan melarikan diri URL untuk mengurangkan ralat pengekodan URL.

Atas ialah kandungan terperinci Bagaimana untuk melarikan diri url golang. 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
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!