2016-04-07 16 views
2

yılında urllib2 kullanarak ikili veri göndermek için nasıl: urllib2 ileBen aslında bunu yapmak istiyor veri ve piton

curl -X POST "http://URL?u=user&p=password" --data-binary @myconfig.json 

.

Sadece kullanıcı ve şifreyi veya sadece ikili dosyayı göndermek için örnekler buldum, ancak ikisi de aynı anda değil, bazıları birbiriyle çelişiyor.

Burada talimatlara bağlı olarak tutma politikasına sahip bir influxdb oluşturmak için bu yapıyorum:

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 

teşekkürler!

cevap

3
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() 

Bunu çözer!

urllib2 ile .json dosyasını belirleyemeyeceğinizi unutmayın. Sadece içeriğini json.dumps işlevine koydunuz.

+0

çalışmıyor, diyor ki HTTP Hatası 400: Hatalı İstek Soruya daha fazla bilgi ekleyeceğim. –

+0

Tamam @GilZellner. Lütfen yap. – Adeola

+0

çizik, hata url oluşumunda benim sonumda olduğu gibi görünüyor. Teşekkürler! –

İlgili konular