Python 有没有可能;刷新“;使用urllib2.urlopen创建的连接?

Python 有没有可能;刷新“;使用urllib2.urlopen创建的连接?,python,urllib2,urlopen,Python,Urllib2,Urlopen,我正在使用urlib2.urlopen从URL获取数据: from urllib2 import urlopen ... conn = urlopen(url) data = conn.read() conn.close() 假设数据没有像我预期的那样“出来” 我再读一遍的最好方法是什么 我目前正在重复整个过程(打开、读取、关闭) 有没有更好的方法(可能是某种连接刷新)?当您在URL上调用urlopen时,Python发出HTTP GET请求并返回响应;每个请求-响应对本质上都是独立的连接。您

我正在使用
urlib2.urlopen
从URL获取数据:

from urllib2 import urlopen
...
conn = urlopen(url)
data = conn.read()
conn.close()
假设数据没有像我预期的那样“出来”

我再读一遍的最好方法是什么

我目前正在重复整个过程(打开、读取、关闭)


有没有更好的方法(可能是某种连接刷新)?

当您在URL上调用
urlopen
时,Python发出HTTP GET请求并返回响应;每个请求-响应对本质上都是独立的连接。您必须对每个要请求的URL重复该过程。

当您对URL调用
urlopen
时,Python发出HTTP GET请求并返回响应;每个请求-响应对本质上都是独立的连接。您必须对要请求的每个URL重复此过程。

否,这是获取新数据的唯一方法

不,这是获取新数据的唯一方法

当您提前打开时,您可以选择在用于刷新后关闭urllib

尝试:

导入json、urllib 而1: url=“” response=urllib.urlopen(url) data=json.load(response.read()) 对于数据中的x: 打印x['Etat'] 如果(x['Etat']='OFF'): 打印('vanne fermer') 打印((int(x['IDVanne'])*10)+0) 其他: 打印('vanne ouverte') 打印((int(x['IDVanne'])*10)+1)
response.close()

尝试:

导入json、urllib 而1: url=“” response=urllib.urlopen(url) data=json.load(response.read()) 对于数据中的x: 打印x['Etat'] 如果(x['Etat']='OFF'): 打印('vanne fermer') 打印((int(x['IDVanne'])*10)+0) 其他: 打印('vanne ouverte') 打印((int(x['IDVanne'])*10)+1)
response.close()

谢谢您的详细回答。顺便说一句,根据重定向的链接,“虽然你真的不必关闭你的urlopen响应”语句是不正确的。谢谢你的详细回答。顺便说一句,根据重定向的链接,“虽然您实际上不必关闭urlopen响应”语句是不正确的。