Kann jemand eine Idee darüber haben, wie man Daten aus der REST-API in das RPi einbaut, das in Python geschrieben wird? Gibt es eine Möglichkeit, einige Befehle vom Remote-Server an das RPi zu senden? Jede Hilfe dazu wäre willkommen.Wie liest man Objekte aus der REST-API mit Python?
Antwort
einfach die Antwort auf den Umfang der Frage zu halten. Auf Rest-API kann unter Verwendung von http
Anfragen zugegriffen werden. Die Python-Standard-Bibliothek hat eine http-Client-Bibliothek und auch gibt es eine Vielzahl von Bibliotheken aus there, die Funktionen einer http client
bieten, ich persönlich mag requests.
so im Grunde installieren requests
und dann.
r = requests.get(url)
data = r.json() # as its a rest api you can directly access the json object
print(data)
Vielen Dank für die Antwort. Wie es scheint, dient der Code zum Lesen von der REST-API. Kann es umgekehrt sein, wie könnte REST API das Objekt an meinen Raspberry Pi (Python) senden? – abhi1610
yeah 'request.post' Methode kann dafür verwendet werden, aber bitte zuerst würde ich empfehlen, ein wenig lesen auf' http' und 'rest'. Akzeptiere auch die Antwort, wenn du glaubst, es ist deine Frage :-) –
Es beantwortet meine Frage etwas, aber nicht vollständig. Ab sofort kann ich mit 'requests.get (url)' lesen. Ich kann sogar Daten an die URL 'posten'. Aber, wenn ich Befehle von URL zu meinem Host-Rechner senden möchte, wie kann es getan werden? – abhi1610
RPi verwendet Rest API, so können Sie Urlib in Python verwenden.
http://<ip of raspi>:3000/<pin>
Beispiel:
from urllib.request import Request, urlopen
q = Request(url_with_get_parameters)
q.add_header('some_header_info', 'value')
q.add_header('Content-type', 'application/json')
response = urlopen(q).read()
Dies ist viel zu vage. Wenn es sich um eine REST-API handelt, können Sie sie per Definition per HTTP abfragen. Was genau ist deine Frage? –
@DanielRoseman Eigentlich bin ich nicht vom Programmierhintergrund. Aber ich möchte wissen, ob der Server/die Cloud, auf dem REST API ausgeführt wird, in der Lage ist, einen beliebigen Befehl an mein RPi zu senden? Sie können sich vorstellen, wie Can Global Server einen Befehl an die verschiedenen Benutzer sendet? Wenn ja, wie? – abhi1610