Python 请求抛出 "ValueError" 无效 Header

Python requests throws "ValueError" for an Invalid Header

这是我第一次 post SO,所以请放轻松。
在这个程序中,我试图在一定次数的失败尝试后更改 userAgents。 UserAgents.txt 文件中有一个约 10000 个 userAgents 的文件,UTF-8 编码。
我正在 python 中编写一个程序,需要从网站上抓取数据。我收到以下错误:

ValueError: Invalid header value b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36\n'

我意识到字符串前面的'b'表示它是字节编码的。 我遵循的步骤包括:

  1. userAgent = userAgent.encode("UTF-8").decode("UTF-8")
  2. userAgent = str(userAgent)
  3. userAgent = userAgentFile.readlines()[0]
  4. userAgentFile = open("UserAgents.txt", "r", encoding="UTF-8")
  5. 我还尝试在 headers 的定义中定义用户代理。
userAgentFile = open("UserAgents.txt", "r")
userAgent = userAgentFile.readline()
userAgentFile.close();

headerList = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en;q=0.9", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.6 Safari/525.13", 
    "X-Amzn-Trace-Id": "Root=1-61be9723-4cd53f9228b4db340a348137"
}

headerList["User-Agent"] = str(userAgent)
#Submit a request to our website, and with our "special" headings.
r = requests.get(f"https://www.reddit.com/r/BreadStapledToTrees/", headers=headerList)

如有任何帮助,我们将不胜感激!

--此外,我实际上并没有从 r/BreadStapledToTrees...

从错误消息中可以看出,用户代理字符串末尾有一个换行符,因此在将其发送到 requests 之前将其删除,方法是将第 14 行更改为

headerList["User-Agent"] = userAgent.strip()