Sono nuovo di servizi web e sto cercando di inviare la seguente richiesta in base JSON utilizzando uno script python:Invio richiesta JSON con Python
http://myserver/emoncms2/api/post?apikey=xxxxxxxxxxxxx&json={power:290.4,temperature:19.4}
Se incollo quanto sopra in un browser, funziona come previsto . Tuttavia, sto lottando per inviare la richiesta da Python. Quello che sto provando è:
import json
import urllib2
data = {'temperature':'24.3'}
data_json = json.dumps(data)
host = "http://myserver/emoncms2/api/post"
req = urllib2.Request(host, 'GET', data_json, {'content-type': 'application/json'})
response_stream = urllib2.urlopen(req)
json_response = response_stream.read()
Come aggiungere i dati apikey alla richiesta?
Grazie!
Grazie per la risposta! Esiste un metodo che posso usare per stampare la stringa di richiesta effettiva? Il server sta rispondendo con "valido write apikey richiesto", ma sto usando la stessa chiave che funziona nel browser. –
Sì, è possibile utilizzare un hook di eventi per questo. In realtà i documenti delle richieste contengono un esempio con questo, stampando l'url prima di inviare la richiesta: http://docs.python-requests.org/en/latest/user/advanced/#event-hooks – simao
Ciao Simao, che mi dà la capacità di guardare gli argomenti, ma cosa devo fare per vedere la stringa di richiesta completa effettiva che viene inviata al server, ad esempio http: // myserver/emoncms2/api/post? apikey = xxxxxxxxxxxxx & json = {power : 290.4, temperatura: 19.4} –