delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

14 Nov 2021

指定 fetch(3) 的 User-Agent

今天抽时间把邮件系统的软件升级了一下,然后发现无法获得 ClamAV 的源代码:

===>  License GPLv2 accepted by the user
===>   clamav-0.104.1,1 depends on file: /usr/local/sbin/pkg - found
=> clamav-0.104.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://www.clamav.net/downloads/production/clamav-0.104.1.tar.gz
fetch: https://www.clamav.net/downloads/production/clamav-0.104.1.tar.gz: Forbidden

同一个链接用浏览器是能打开的,一看邮件果然已经有人 开过票 了。 最近发现不少网站都出于某种原因对 User-Agent 进行了限制,不过既然这是个用户能自行指定的值, 这么限制到底意义何在呢?

由于我目前使用 git 来更新 port,因此并不希望通过打补丁的方法来解决问题。查了一下 fetch(3), 发现可以通过设置环境变量来解决,于是:

export HTTP_USER_AGENT="Mozilla/5.0"

搞定。

我觉得限制 User-Agent 蛮蠢的:本来它可以给网站的主人提供更多的信息来针对不同的客户端提供服务,但总有些人拿它来限制访问, 最终大家也就都不说实话了……