Golang에서 리디렉션 후 최종 URL을 결정하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-11 16:59:03
원래의
528명이 탐색했습니다.

How to Determine the Final URL After Redirects in Golang?

Golang에서 리디렉션 후 최종 URL 결정

Golang의 net/http 패키지에서 HTTP GET 요청은 리디렉션을 만날 수 있으며, 이로 인해 다음이 발생할 수 있습니다. 최초 요청과 다른 최종 도착 URL로 이러한 상황은 다음과 같은 질문을 제기합니다. 번거로운 해결 방법을 사용하지 않고 일련의 리디렉션 후에 도달한 최종 URL을 어떻게 확인할 수 있습니까?

해결책

해킹적인 접근 방식이 필요하며 HTTP GET 작업에서 반환된 응답 개체 내에 깨끗하고 간단한 솔루션이 존재합니다. 이 객체는 요청을 시작한 요청 객체를 보유하며, 이는 방문한 최종 URL에 대한 액세스를 제공합니다.

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

func main() {
    resp, err := http.Get("http://stackoverflow.com/q/16784419/727643")
    if err != nil {
        log.Fatalf("http.Get => %v", err.Error())
    }

    // Function to retrieve the final URL
    finalURL := resp.Request.URL.String()

    fmt.Printf("The URL you ended up at is: %v", finalURL)
}
로그인 후 복사

출력:

The URL you ended up at is: http://stackoverflow.com/questions/16784419/in-golang-how-to-determine-the-final-url-after-a-series-of-redirects
로그인 후 복사

이 방법을 사용하면 최종 URL을 쉽게 검색할 수 있습니다. 여러 번의 리디렉션 후에. 추가적인 사용자 정의나 전역 변수 조작이 필요하지 않으므로 깔끔하고 효율적인 구현이 보장됩니다.

위 내용은 Golang에서 리디렉션 후 최종 URL을 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿