簡體   English   中英

Python requests.get(URL) 在使用帶點的 URL 時返回 404 錯誤

[英]Python requests.get(URL) returns 404 error when using URL with dot

我正在嘗試使用 Python 的請求庫來獲取網頁https://finance.yahoo.com/quote/AFLT.ME

此鏈接在瀏覽器中打開良好,但在使用此代碼時導致錯誤 404:

import requests
r = requests.get('https://finance.yahoo.com/quote/AFLT.ME')

我很確定問題出在“AFLT.ME”中的點 (.) 符號中,因為代碼適用於不帶點的 URL - 例如https://finance.yahoo.com/quote/AAPL

我已經找到了解決這個問題的答案,但是在網站所有者方面。

但是我該如何解決這個問題呢?

我嘗試了一些建議,但不幸的是沒有幫助:

  • 替換點. %2f類似 /AFLT%2EME
  • 添加斜線/最后像 /AFLT.ME/

奇怪的是,似乎如果發送User-Agent header,即使是空值,它也會響應 200:

>>> requests.get('https://finance.yahoo.com/quote/AFLT.ME', headers={'User-Agent': ''})
<Response [200]>

編輯:這里報告了同樣的問題: https://stackoverflow.com/a/68259438/9835872

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM