Python 如何以正确的方式从pycurl中提取
我想编写一个伪模块,让一个人执行一个持续进行的GET请求(与使用Twitter Streamming API的请求非常相似),但不必在每次有人想要调用函数发出相同的GET请求时提供所有参数 在我的module.py中,我有Python 如何以正确的方式从pycurl中提取,python,curl,asynchronous,streaming,pycurl,Python,Curl,Asynchronous,Streaming,Pycurl,我想编写一个伪模块,让一个人执行一个持续进行的GET请求(与使用Twitter Streamming API的请求非常相似),但不必在每次有人想要调用函数发出相同的GET请求时提供所有参数 在我的module.py中,我有 class viewResults(): def __init__(self,username,password,keyname,consume): self.buffer = "" self.consume = consume
class viewResults():
def __init__(self,username,password,keyname,consume):
self.buffer = ""
self.consume = consume
self.conn = pycurl.Curl()
self.conn.setopt(pycurl.USERPWD, "%s:%s" % (username, password))
self.conn.setopt(pycurl.URL, "http://crowdprocess.no.de/"+keyname+"/results")
self.conn.setopt(pycurl.WRITEFUNCTION, self.on_receive)
# self.conn.setopt(pycurl.VERBOSE, 1)
# self.conn.setopt(pycurl.DEBUGFUNCTION, self.debug)
self.conn.perform()
# def debug(self,debug_type,debug_message):
# print 'type: '+str(debug_type)+' message'+str(debug_message)
def on_receive(self, data):
self.buffer += data
if data.endswith("\r\n") and self.buffer.strip():
content = json.loads(self.buffer)
self.consume(content)
self.buffer = ""
from module import viewResults
def consume(content):
print content
viewResults('username','password','keyname',consume)
在index.py上我有
class viewResults():
def __init__(self,username,password,keyname,consume):
self.buffer = ""
self.consume = consume
self.conn = pycurl.Curl()
self.conn.setopt(pycurl.USERPWD, "%s:%s" % (username, password))
self.conn.setopt(pycurl.URL, "http://crowdprocess.no.de/"+keyname+"/results")
self.conn.setopt(pycurl.WRITEFUNCTION, self.on_receive)
# self.conn.setopt(pycurl.VERBOSE, 1)
# self.conn.setopt(pycurl.DEBUGFUNCTION, self.debug)
self.conn.perform()
# def debug(self,debug_type,debug_message):
# print 'type: '+str(debug_type)+' message'+str(debug_message)
def on_receive(self, data):
self.buffer += data
if data.endswith("\r\n") and self.buffer.strip():
content = json.loads(self.buffer)
self.consume(content)
self.buffer = ""
from module import viewResults
def consume(content):
print content
viewResults('username','password','keyname',consume)
所以我只想传递参数username、password、keyname和“consume”函数,当缓冲区充满有效的JSON数据时应该调用这些参数
实际发生的情况是,请求已经发出,如果启用了VERBOSE,我可以看到所有数据都已到达,但是“更高级别的消费”函数get什么都没有
我怎样才能做到这一点?
谢谢。据我所知,您想归档调试数据吗 创建自定义调试函数以存储数据:
在您的邮政编码中,我看不到您在接收(自我、数据)时的:打印内容。
添加到它sys.stderr.write(“%s\n”%data)