增加自动验证api 第一版

pull/7108/head
xiaokai 2024-08-29 16:12:55 +07:00
parent b910b8917f
commit f5ee38a40a
3 changed files with 26 additions and 1 deletions

View File

@ -14,6 +14,7 @@ type Addition struct {
CaptchaToken string `json:"captcha_token" default:""` CaptchaToken string `json:"captcha_token" default:""`
DeviceID string `json:"device_id" required:"false" default:""` DeviceID string `json:"device_id" required:"false" default:""`
DisableMediaLink bool `json:"disable_media_link" default:"true"` DisableMediaLink bool `json:"disable_media_link" default:"true"`
CaptchaApi string `json:"captcha_api" default:""`
} }
var config = driver.Config{ var config = driver.Config{

View File

@ -195,3 +195,9 @@ type CaptchaTokenResponse struct {
ExpiresIn int64 `json:"expires_in"` ExpiresIn int64 `json:"expires_in"`
Url string `json:"url"` Url string `json:"url"`
} }
type CaptchaApiResponse struct {
Token string `json:"token"`
Code int64 `json:"code"`
Url string `json:"url_received"`
}

View File

@ -397,7 +397,25 @@ func (d *PikPak) refreshCaptchaToken(action string, metas map[string]string) err
} }
if resp.Url != "" { if resp.Url != "" {
return fmt.Errorf(`need verify: <a target="_blank" href="%s">Click Here</a>`, resp.Url) // return fmt.Errorf(`need verify: <a target="_blank" href="%s">Click Here</a>`, resp.Url)
if d.Addition.CaptchaApi != "" {
var e ErrResp
var captcha_resp CaptchaApiResponse
_, e := d.request(d.Addition.CaptchaApi, http.MethodGet, func(req *resty.Request) {
req.SetQueryParams("url", resp.Url)
}, &captcha_resp)
if e.IsError() {
return errors.New(e.Error())
}
if captcha_resp.Code == 200 {
d.Common.SetCaptchaToken(captcha_resp.Token)
return nil
} else {
return errors.New("验证失败")
}
} else {
return errors.New("没有配置自动验证Server")
}
} }
if d.Common.RefreshCTokenCk != nil { if d.Common.RefreshCTokenCk != nil {