python - 如何在python中使用urllib2发布数据和二进制数据

标签 python urllib2 influxdb

我本质上想这样做:

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 函数中即可。

关于python - 如何在python中使用urllib2发布数据和二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36479006/

相关文章:

linux - InfluxDB 使用 sensu 写性能统计

python - Pytorch 中基于磁带的 autograd 是什么?

python - 如何配置 Pyramid 的 JSON 编码?

grafana 中的 JMeter 吞吐量值

java - influxdb失败导致spring应用程序运行失败

python - 用 python 抓取一些 ofx 数据

python - 如何添加main发送参数进行计算(python postfix计算器)

python - 如何从 gdb-python 方法中调用 C 函数

python - Urlopen [错误-2] Python

python - 如何使用 python 2.7 获取发送和接收的总字节数?