我正在尝试将数据从文本文件发送到服务器,寻找与发送数据的匹配,以便将匹配的数据返回给我,并将其存储在现有的文本文件中。如果我在脚本中向服务器发送名称列表,我很好。但是我想重复请求并插入一个文本文件作为要匹配和返回的名称。这是我到目前为止的文字:
import json
import urllib2
values = 'E:\names.txt'
url = 'https://myurl.com/get?name=values&key=##########'
response = json.load(urllib2.urlopen(url))
with open('E:\data.txt', 'w') as outfile:
json.dump(response, outfile, sort_keys = True, indent = 4,ensure_ascii=False);
此代码只返回一行文件,显示没有匹配的内容。我假设它只是将值视为名称而不是值文本文件中的数据。
更新试用版1:我根据下面的建议更新了我的代码,以包含urllib.urlencode建议。这是我更新的代码:
import json
import urllib
import urllib2
file = 'E:\names.txt'
url = 'https://myurl.com/get'
values = {'name' : file,
'key' : '##########'}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = json.load(urllib2.urlopen(req))
with open('E:\data.txt', 'w') as outfile:
json.dump(response, outfile, sort_keys = True, indent = 4,ensure_ascii=False);
通过编辑网址修复了追溯错误。但是它只是在JSON请求中传递“e:\ names.txt”作为名称。因此,我现在的问题似乎只是尝试将names.txt文件中的数据正确发送到元组'名称'。有什么想法吗?