>백엔드 개발 >Golang >使用http.Get函数发送GET请求并获取响应状态码及响应内容长度

使用http.Get函数发送GET请求并获取响应状态码及响应内容长度

王林
王林원래의
2023-07-24 15:55:491398검색

http.Get 함수를 사용하여 GET 요청을 보내고 응답 상태 코드와 응답 내용 길이를 얻습니다.

Go 언어에서는 http 패키지에서 제공하는 http.Get 함수를 사용하여 GET 요청을 보낼 수 있습니다. GET 요청을 통해 서버가 반환한 응답 상태 코드와 응답 내용의 길이를 얻을 수 있습니다. 구체적인 구현 과정을 살펴보겠습니다.

먼저 Go 코드에서 http.Get 함수를 사용하려면 net/http 패키지를 가져와야 합니다. 코드는 다음과 같습니다.

package main

import (
    "fmt"
    "net/http"
)

func main() {
    // 发送GET请求
    resp, err := http.Get("http://www.example.com")
    if err != nil {
        fmt.Println("发送GET请求失败:", err)
        return
    }
    defer resp.Body.Close()

    // 获取响应状态码
    statusCode := resp.StatusCode
    fmt.Println("响应状态码:", statusCode)

    // 获取响应内容长度
    contentLength := resp.ContentLength
    if contentLength == -1 {
        fmt.Println("响应内容长度未知")
    } else {
        fmt.Println("响应内容长度:", contentLength)
    }
}

위 코드에서는 http.Get 함수를 통해 "http://www.example.com"으로 GET 요청을 보내고 응답 결과를 resp 변수에 할당했습니다. 동시에 defer 키워드를 사용하여 리소스 누출을 방지하기 위해 함수가 반환되기 전에 응답 본문이 닫히도록 합니다.

다음으로 resp.StatusCode를 사용하여 응답 상태 코드를 가져와서 인쇄합니다. 응답 상태 코드는 일반적으로 요청에 대한 서버의 처리 결과를 나타냅니다. 예를 들어 200은 요청이 성공했음을 나타내고 404는 페이지를 찾을 수 없음을 나타냅니다.

마지막으로 resp.ContentLength를 사용하여 응답 콘텐츠의 길이를 가져와서 인쇄합니다. ContentLength는 응답 콘텐츠의 크기를 나타내는 int64 유형 값을 반환합니다. 일부 서버는 응답 헤더에 Content-Length 필드를 제공하지 않을 수 있습니다. 이 경우 ContentLength는 응답 콘텐츠 길이를 알 수 없음을 나타내는 -1을 반환합니다.

위 코드를 사용하면 GET 요청을 보내고 응답 상태 코드와 응답 내용 길이를 얻을 수 있습니다. 실제 요구 사항에 맞게 필요에 따라 코드를 수정할 수 있습니다. 이 기사가 도움이 되기를 바랍니다!

위 내용은 使用http.Get函数发送GET请求并获取响应状态码及响应内容长度의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:다음 기사: