Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能否参数,可以设置请求的UA #2

Closed
sln162 opened this issue Jul 23, 2024 · 6 comments
Closed

能否参数,可以设置请求的UA #2

sln162 opened this issue Jul 23, 2024 · 6 comments

Comments

@sln162
Copy link

sln162 commented Jul 23, 2024

比如使用fs/get接口,获取到的raw_url下载链接,一般的网盘是可以直接下载的,但部分网盘有UA验证,比如115,没办法在外部直接下载,如下图,只能用您的SDK内置的下载文件到本地。

image

希望可以增加选项,设置请求get接口时的UA,这样Alist这边会用设置的UA去生成raw_url。

image
image

用API获取的115直链不可用

@j4587698
Copy link
Owner

v1.1.4
Download DownloadRange增加了一个Headers参数,参数是元组,可以任意设置标头,例如需要增加UA,可以配置

await fs.Download(RawUrl, new CancellationToken(), ("User-Agent", "AListSharp/1.0"));

@j4587698
Copy link
Owner

其实还可以直接配置flurl的全局配置,在调用以前的任何地方可以配置类似

FlurlHttp.Clients.WithDefaults(builder => builder.WithHeader("User-Agent", "AListSharp/1.0"));

这样所有flurl发出的请求都会统一使用相同的UA

@sln162
Copy link
Author

sln162 commented Jul 24, 2024

v1.1.4 Download DownloadRange增加了一个Headers参数,参数是元组,可以任意设置标头,例如需要增加UA,可以配置

await fs.Download(RawUrl, new CancellationToken(), ("User-Agent", "AListSharp/1.0"));

非常感谢您的及时更新,但您误解我的意思了,需要UA验证的地方不是Download方法,而是Info方法。

var c = await fs.Info(token, new ListIn()
{
    Path = item + "/" + fileName,
});

其实还可以直接配置flurl的全局配置,在调用以前的任何地方可以配置类似

FlurlHttp.Clients.WithDefaults(builder => builder.WithHeader("User-Agent", "AListSharp/1.0"));

这样所有flurl发出的请求都会统一使用相同的UA

这样是可以修改全局的,但是面向分享时,无法提前预知别人浏览器的UA,所以是动态的,根据来访的UA来设置参数,如果每次修改全局是很糟糕的,因为还有并发的可能性。

-而且经过测试,全局配置需要在所有请求之前,包括获取token

我不需要在服务器中下载,而是在浏览器中下载,所以用不到Download方法,所以要控制请求时的UA

@sln162
Copy link
Author

sln162 commented Jul 25, 2024

@j4587698 能否麻烦您在Info方法增加个Headers参数

@j4587698
Copy link
Owner

v1.1.5,Info增加了headers参数

@sln162
Copy link
Author

sln162 commented Jul 29, 2024

非常感谢!

@sln162 sln162 closed this as completed Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants