Python POST sql查询结果

时间:2017-02-20 20:48:20

标签: python arrays json post urllib2

我想将一堆结果发送到服务器。

getline(out,line);

r此时是:

cur.execute('SELECT a,b,c,b FROM wicap WHERE a.num > 600 limit 25')
r = cur.fetchall()

我想做类似的事情:

[(1487590224, 1487614532, -75, -41, 504, -73),
(1487596562, 1487614915, -75, -59, 156, -75),...]

在服务器端可以通过以下方式获取数据:

response = urllib2.urlopen('http://example.com/post/', data=r)

然后在服务器中处理查询结果。

urlencode因 ValueError失败:解压缩的值太多 我尝试使用res = [dict((cur.description [i] [0],value)为i创建一个json,为枚举(行)中的值为r中的行创建一个j] 但是f = urllib2.urlopen(_url,res)返回 TypeError:必须是字符串或缓冲区,而不是列表

欢迎提出意见!

1 个答案:

答案 0 :(得分:0)

您需要使用json.dumps将数据编码为json:

import json


r = [(1487590224, 1487614532, -75, -41, 504, -73), (1487596562, 1487614915, -75, -59, 156, -75)]
response = urllib2.urlopen('http://example.com/post/', data=json.dumps(r))