Tôi muốn đăng nhập 301 so với 302 nhưng không thể thấy cách đọc mã trạng thái phản hồi trong Client.Do, Get, doFollowingRedirects, CheckRedirect. Tôi sẽ phải thực hiện chuyển hướng bản thân mình để đạt được điều này?Cách lấy mã trạng thái chuyển hướng http trong Golang
Trả lời
Loại http.Client
cho phép bạn chỉ định phương tiện di chuyển tùy chỉnh, cho phép bạn thực hiện những gì bạn đang theo dõi. Một cái gì đó như sau nên làm:
type LogRedirects struct {
Transport http.RoundTripper
}
func (l LogRedirects) RoundTrip(req *http.Request) (resp *http.Response, err error) {
t := l.Transport
if t == nil {
t = http.DefaultTransport
}
resp, err = t.RoundTrip(req)
if err != nil {
return
}
switch resp.StatusCode {
case http.StatusMovedPermanently, http.StatusFound, http.StatusSeeOther, http.StatusTemporaryRedirect:
log.Println("Request for", req.URL, "redirected with status", resp.StatusCode)
}
return
}
(bạn có thể đơn giản hóa điều này một chút nếu bạn chỉ hỗ trợ chuỗi mặc định để vận chuyển).
Sau đó bạn có thể tạo ra một khách hàng sử dụng phương tiện giao thông này, và bất kỳ trang đổi hướng nên đăng nhập:
client := &http.Client{Transport: LogRedirects{}}
Dưới đây là một ví dụ đầy đủ, bạn có thể thử nghiệm với: http://play.golang.org/p/8uf8Cn31HC
Để biết thêm thông tin nhật ký, bạn cũng có thể muốn sử dụng ['http.StatusText()'] (https://golang.org/pkg/net/http/#StatusText) để bao gồm tên thân thiện với con người của mã trạng thái. –
- 1. Mã trạng thái HTTP cho chuyển hướng ngôn ngữ
- 2. Mã trạng thái HTTP System.Net.WebException
- 3. PHP CURL theo chuyển hướng để nhận trạng thái HTTP
- 4. Xem đường dẫn chuyển hướng đầy đủ và mã trạng thái HTTP trong Chrome
- 5. Đặt mã trạng thái HTTP trong Chai?
- 6. cách lấy mã trạng thái jquery ajax
- 7. Cách lấy mã trạng thái từ webclient?
- 8. Mã trạng thái HTTP 000 là gì?
- 9. Chuyển hướng CakePHP với mã trạng thái 404
- 10. Trả lại mã trạng thái http trong Python CGI
- 11. jQuery $ .get/$. Ajax chuyển mã trạng thái HTTP 200 thay vì mã trạng thái mong đợi là 201 hoặc 202
- 12. Mã trạng thái Http với libcurl?
- 13. Cách nhận mã trạng thái HTTP <img> thẻ
- 14. http get NodeJS cách nhận mã trạng thái lỗi?
- 15. Mã trạng thái HTTP cho lỗi chung
- 16. Làm cách nào để lấy mã trạng thái HTTP ra khỏi ServletResponse trong ServletFilter?
- 17. Nhận HTTP thiệu mã trạng thái trong ASP.Net Lõi
- 18. Http Mã trạng thái 400 và 412
- 19. Webpy: cách đặt mã trạng thái http thành 300
- 20. Chụp mã trạng thái http bằng con nhện bị lột
- 21. Cách xử lý lỗi hết thời gian chờ HTTP và truy cập mã trạng thái trong golang
- 22. Thỏa thuận với mã trạng thái HTTP 308 là gì?
- 23. Kiểm tra mã trạng thái HTTP trong Selenium
- 24. Trả lại mã trạng thái HTTP 201 trong bình
- 25. Nhận mã trạng thái HTTP trong Android WebView
- 26. Python urllib2 URLĐịnh dạng mã trạng thái HTTP.
- 27. Mã trạng thái HTTP cho hình ảnh xác thực
- 28. mã trạng thái HTTP ĐẦU động từ của
- 29. Tại sao display_errors thay đổi mã trạng thái HTTP?
- 30. Làm thế nào để chuyển đổi mã trạng thái HTTP thành văn bản trong Java?
Các bạn đã thử Response.StatusCode? – rvignacio
@rvignacio Golang http.Client thực hiện chuyển hướng tự động sao cho tất cả điều đó sẽ cho tôi là mã trạng thái cuối cùng 200. –