簡體   English   中英

如何在python中使用urllib2發布數據和二進制數據

[英]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函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM