42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package business
|
|
|
|
import "ocean/utils"
|
|
|
|
type FormatRedirectUrlResponse struct {
|
|
SessionId string
|
|
SessionIdSs string
|
|
PassportCsrfToken string
|
|
PassportCsrfTokenDefault string
|
|
CsrfToken string
|
|
XCsrftoken string
|
|
}
|
|
|
|
func (c *Client) RedirectUrl(url string) (data *FormatRedirectUrlResponse, err error) {
|
|
_, cookies, err := utils.Get(url)
|
|
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
for _, cookie := range cookies {
|
|
if cookie.Name == "sessionid" {
|
|
c.ctx.BusinessCookie[cookie.Name] = cookie.Value
|
|
}
|
|
|
|
if cookie.Name == "sessionid_ss" {
|
|
c.ctx.BusinessCookie[cookie.Name] = cookie.Value
|
|
}
|
|
}
|
|
|
|
result := &FormatRedirectUrlResponse{
|
|
SessionId: c.ctx.BusinessCookie["sessionid"],
|
|
SessionIdSs: c.ctx.BusinessCookie["sessionid_ss"],
|
|
PassportCsrfToken: c.ctx.BusinessCookie["passport_csrf_token"],
|
|
PassportCsrfTokenDefault: c.ctx.BusinessCookie["passport_csrf_token_default"],
|
|
CsrfToken: c.ctx.BusinessCookie["csrftoken"],
|
|
XCsrftoken: c.ctx.BusinessCookie["csrftoken"],
|
|
}
|
|
|
|
return result, nil
|
|
}
|