如何在 python 中使用 urllib2 post 数据和二进制数据
how to post data and binary data using urllib2 in python
我基本上想这样做:
curl -X POST "http://URL?u=user&p=password" --data-binary @myconfig.json
使用 urllib2。
我找到了仅发送用户和密码或仅发送二进制文件的示例,但不能同时发送这两者,而且有些示例相互矛盾。
我这样做是为了根据此处的说明创建具有保留策略的 influxdb:
https://docs.influxdata.com/influxdb/v0.8/advanced_topics/sharding_and_storage/
curl -X POST "http://localhost:8086/cluster/database_configs/mydb?u=root&p=root" --data-binary @myconfig.json
谢谢!
import urllib2
import json
url = 'http://url.com?u=user&p=pass'
data = json.dumps({'config':'configData'}) # your JSON File goes in here, as argument to dumps.
cont_len = len(data)
req = urllib2.Request(url, data, {'Content-Type': 'application/json', 'Content-Length': cont_len})
f = urllib2.urlopen(req)
response = f.read()
f.close()
那就解决了!
请注意,对于 urllib2,您不能指定 .json 文件。您只需将其内容放入 json.dumps
函数即可。
我基本上想这样做:
curl -X POST "http://URL?u=user&p=password" --data-binary @myconfig.json
使用 urllib2。
我找到了仅发送用户和密码或仅发送二进制文件的示例,但不能同时发送这两者,而且有些示例相互矛盾。
我这样做是为了根据此处的说明创建具有保留策略的 influxdb:
https://docs.influxdata.com/influxdb/v0.8/advanced_topics/sharding_and_storage/
curl -X POST "http://localhost:8086/cluster/database_configs/mydb?u=root&p=root" --data-binary @myconfig.json
谢谢!
import urllib2
import json
url = 'http://url.com?u=user&p=pass'
data = json.dumps({'config':'configData'}) # your JSON File goes in here, as argument to dumps.
cont_len = len(data)
req = urllib2.Request(url, data, {'Content-Type': 'application/json', 'Content-Length': cont_len})
f = urllib2.urlopen(req)
response = f.read()
f.close()
那就解决了!
请注意,对于 urllib2,您不能指定 .json 文件。您只需将其内容放入 json.dumps
函数即可。