Jestem nowym do usług internetowych i próbuję wysłać następującą prośbę oparciu JSON przy użyciu skryptu Pythona:Wysyłanie żądania JSON Pythona
http://myserver/emoncms2/api/post?apikey=xxxxxxxxxxxxx&json={power:290.4,temperature:19.4}
Gdybym wklej powyżej w przeglądarce, to działa zgodnie z oczekiwaniami . Jednak staram się wysłać żądanie z Python. Oto, co próbuję:
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()
Jak dodać dane apikey do wniosku?
Dziękujemy!
Dzięki za odpowiedź! Czy istnieje metoda, której można użyć do wydrukowania faktycznego ciągu żądania pobierania? Serwer odpowiada "wymaganą poprawną aplikacją zapisu", ale używam tego samego klucza, który działa w przeglądarce. –
Tak, możesz użyć haka zdarzeń. W rzeczywistości dokumentacja żądań zawiera przykład właśnie tego, drukowanie adresu URL przed wysłaniem żądania: http://docs.python-requests.org/en/latest/user/advanced/#event-hooks – simao
Witaj, Simao, to daje mi możliwość spojrzenia na argumenty, ale co muszę zrobić, aby zobaczyć faktyczny ciąg pełnych żądań, które są wysyłane na serwer, np. http: // myserver/emoncms2/api/post? apikey = xxxxxxxxxxxxx & json = {moc : 290.4, temperatura: 19.4} –