在kivy python中如何从url请求中获取数据

时间:2016-07-01 18:52:41

标签: python request kivy

我在kivy的网址中请求JSON。在主App:

data = UrlRequest('http://myhost.ninja/request', gotArticles, onFailure)

和回调:

def gotArticles(req, results):
  for key in results:
    return key

当我print(data)时,我会打印<UrlRequest(Thread-1, started daemon 123145307557888)>。我可以从回调内部打印数据,但是如何将数据返回给应用程序的其余部分?

1 个答案:

答案 0 :(得分:0)

我认为很明显,你并没有尝试打印函数的返回(如print(int('1'))),而是反对,即你指定的整个UrlRequest类到data变量。与print(TextInput())

相同

尝试从该对象打印变量:

print(data.result)

基本上是UrlRequest.result

示例:http仅用于显示结果存在,真实网页有https

req = UrlRequest('http://kivy.org')
while not req.is_finished:
    sleep(1)                         # seems to be unnecessary in this case
    Clock.tick()

print('result =', req.result)
print('error =', req.error)

wait()在视觉上做同样的事情

req = UrlRequest('http://kivy.org')
req.wait()
print('result =', req.result)
print('error =', req.error)