mirror of https://github.com/Xhofe/alist
增加自动验证api 第一版
parent
b910b8917f
commit
f5ee38a40a
|
@ -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{
|
||||||
|
|
|
@ -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"`
|
||||||
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue