为什么有效的 PDF link returns 状态码为 404?

Why does valid PDF link returns status code 404?

我正在尝试访问有效 url 的 status_code,但是尽管 link 存在,但返回了 404。这是 returns me a 404 的代码行:

print(requests.get("https://www.moh.gov.sg/docs/librariesprovider5/local-situation-report/situation-report-21-jul-2020.pdf").status_code)

这是我要访问的 PDF 的 link:https://www.moh.gov.sg/docs/librariesprovider5/local-situation-report/situation-report-21-jul-2020.pdf

有谁能向我解释为什么我在尝试访问有效 url 时收到 404?谢谢。

它给出状态代码 404 未找到,因为您在请求时没有通过强制性 header Accept。 Accept request-header 字段用于指定响应可接受的某些媒体类型。

print(requests.get("https://www.moh.gov.sg/docs/librariesprovider5/local-situation-report/situation-report-21-jul-2020.pdf",
               headers={"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"},
               verify = False))

试试上面的代码你会得到状态码200

添加了 google 开发者网络部分的图像,以更加清晰。