Go HTTP Post 并使用 Cookie
问题: 将 cookie 集成到 Go 应用程序中以方便网站登录和后续操作页面访问。
考虑以下示例代码:
func Login(user, password string) string { postUrl := "http://www.pge.com/eum/login" values := make(url.Values) values.Set("user", user) values.Set("password", password) resp, err := http.PostForm(postUrl, values) if err != nil { log.Fatal(err) } defer resp.Body.Close() // Store cookies here! return "Hello" } func ViewBill(url string, cookies) string { // Access page using cookies! }
解决方案:在 Go 中,cookie 管理是在 1.1 版本中通过 net/http/cookiejar 包引入的。
通过 cookie 处理增强代码功能:
import ( "net/http" "net/http/cookiejar" ) jar, err := cookiejar.New(nil) if err != nil { // Handle error } client := &http.Client{ Jar: jar, }
这个客户端装饰有 cookie jar 的 Jar 实现,现在可以存储供后续请求期间使用的 cookie,促进顺利登录和页面导航。
以上是如何管理网站登录和页面访问的 Go HTTP POST 请求中的 Cookie?的详细内容。更多信息请关注PHP中文网其他相关文章!