** So greifen Sie mit Python auf HTTP zu **
Dieses Mal verwenden wir die Requests-Bibliothek, um Web-APIs im REST-Stil zu verarbeiten.
Bevor wir es verwenden, wollen wir kurz auf HTTP-Methoden / REST-APIs eingehen. Die Art der Anforderung, die vom Client an den Server gestellt wird, wird als Methode bezeichnet. Grundsätzlich gibt es die folgenden acht Typen.
Methode | Erläuterung |
---|---|
GET | Ressourcen abrufen |
HEAD | Holen Sie sich nur HTTP-Header für Ressourcen |
POST | Senden Sie Daten vom Client zum Server |
PUT | Ressourcen sparen |
DELETE | Ressource löschen |
CONNECT | Richten Sie einen Tunnel mit dem Server ein |
OPTIONS | Finden Sie heraus, welche Methoden der Server zulässt |
TRACE | Untersuchen Sie die Netzwerkroute zum Server |
Die REST-API ist eine API-Implementierung, die vier HTTP-Methoden "GET", "POST", "PUT" und "DELETE" verwendet.
HTTP-Methode | Verhalten in REST |
---|---|
GET | Ressourcenbeschaffung (READ) |
POST | Ressourcenerstellung (CREATE) |
PUT | Ressourcenaktualisierung (UPDATE) |
DELETE | Ressource löschen (LÖSCHEN) |
Die Installation erfolgt mit pip.
pip install requests
Grundsätzlich ist es in Ordnung, wenn Sie die URL wie folgt angeben (Parameter sind optional).
import requests
url = "http://xxxxx"
pyaload = {"key1":"value1", "key2":"value2"}
r = requests.get(url, params=payload)
Die Verwendung ist bis auf GET dieselbe.
r = requests.post(url)
r = requests.put(url)
r = requests.delete(url)
Antwort
Die Antwort vom Server kann je nach Antwortformat wie folgt bestätigt werden.
#Text
r.text
#binär
r.content
# JSON
r.json()
#Rohe Antwort
r.raw
#HTTP-Statuscode der Antwort
r.status_code
Versuchen Sie, diese Postleitzahlensuch-API von Python aus zu aktivieren.
import requests
url = "http://zip.cgis.biz/xml/zip.php"
payload = {"zn": "1310045"}
r = requests.get(url, params=payload)
r.text
** Ausführungsergebnis **
'<?xml version="1.0" encoding="utf-8" ?>\n<ZIP_result>\n<result name="ZipSearchXML" />\n<result version="1.01" />\n<result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D1310045" />\n<result request_zip_num="1310045" />\n<result request_zip_version="none" />\n<result result_code="1" />\n<result result_zip_num="1310045" />\n<result result_zip_version="0" />\n<result result_values_count="1" />\n<ADDRESS_value>\n<value state_kana="Tokio" />\n<value city_kana="Sumidaku" />\n<value address_kana="Ossiage" />\n<value company_kana="none" />\n<value state="Tokio" />\n<value city="Sumida Ward" />\n<value address="Hochdrücken" />\n<value company="none" />\n</ADDRESS_value>\n</ZIP_result>\n'
Recommended Posts