问题:有时候需要下载GitHub 仓库的某一个文件,但是不想 clone 整个项目,需要一种能直接下载某一个文件的方式。
解决方式:更改GitHub 文件 URL,就能实现单个下载功能。
假设 GitHub 文件的原 URL 是https://github.com/user/repository/blob/main/folder/file.txt,修改后为https://raw.githubusercontent.com/user/repository/main/folder/file.txt
即github.com替换为raw.githubusercontent.com,去掉/blob
原理:raw.githubusercontent.com
返回存储在 GitHub 中的文件的 raw content
,因此可以将它们简单地下载到计算机上。
下载:
1.网页直接下载:将转化后的URL直接输入到浏览器地址栏
2.使用IDM下载器
输入地址确定后,可能遇到两个问题:
(1)报错"无法连接到raw.githubusercontent.com: 443"
解决方式:
在https:/www.ipaddress.com这个网站中的查询框中输入: raw.githubusercontent.com得到以下网页,在里面找到相应的ipv4地址,四个地址随便选一个:
然后打开 hosts
文件:
- Windows: 文件路径是
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux: 文件路径是
/etc/hosts
然后保存关闭文件,再次下载文件不再报错
(2) 报错"请求的文件不存在"
分析原因:我们打开到文件所在的那一个网页时,当URL中包含中文,比如https://github.com/user/repository/blob/master/课程资料/高等数值计算方法/期末资料/数值计算题解记录.pdf,如果复制URL,当粘贴到记事本中查看时,发现会变成这样https://github.com/user/repository/blob/master/%E8%AF%BE%E7%A8%8B%E8%B5%84%E6%96%99/%E9%AB%98%E7%AD%89%E6%95%B0%E5%80%BC%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/%E6%9C%9F%E6%9C%AB%E8%B5%84%E6%96%99/%E6%95%B0%E5%80%BC%E8%AE%A1%E7%AE%97%E9%A2%98%E8%A7%A3%E8%AE%B0%E5%BD%95.pdf,自己看着不习惯,我将后面这一串修改为正常的中文,即https://github.com/user/repository/blob/master/课程资料/高等数值计算方法/期末资料/数值计算题解记录.pdf再用IDM下载就会报错,保持原样即可正常下载