gpt4 book ai didi

python - 是否可以查看 urllib2 响应中的数据?

转载 作者:可可西里 更新时间:2023-11-01 16:58:18 25 4
gpt4 key购买 nike

我需要检测 HTTP 响应中的字符编码。为此,我查看 header ,如果它未在内容类型 header 中设置,我必须查看响应并查找“<meta http-equiv='content-type'>” header 。我希望能够编写一个看起来和工作方式如下所示的函数:

response = urllib2.urlopen("http://www.example.com/")
encoding = detect_html_encoding(response)
...
page_text = response.read()

但是,如果我在“detect_html_encoding”方法中执行 response.read(),那么调用我的函数后的后续 response.read() 将失败。

有没有一种简单的方法可以在阅读后查看响应和/或倒带?

最佳答案

def detectit(response):
# try headers &c, then, worst case...:
content = response.read()
response.read = lambda: content
# now detect based on content

技巧当然是确保 response.read() 将在需要时再次返回相同的东西...这就是为什么我们在必要时将 lambda 分配给它,即,如果我们已经需要提取内容——确保可以再次提取相同的内容(一次又一次,...;-)。

关于python - 是否可以查看 urllib2 响应中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1308584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com