requests --- Klien HTTP

Modul requests menyediakan API klien HTTP/HTTPS minimal yang mirip dengan pustaka Python requests. Setiap fungsi permintaan mengembalikan objek requests.Response.

Contoh:

import requests

# GET a JSON resource.
r = requests.get("https://httpbin.org/get")
print(r.status_code, r.reason)
print(r.json())

# POST JSON.
r = requests.post(
    "https://httpbin.org/post",
    json={"id": 1, "value": 42},
    headers={"X-Source": "openmv"},
)
print(r.json())

Kelas Response

class requests.Response(code: int, reason: str, headers: bytes = None, content: bytes = None)

Merepresentasikan respons HTTP. Instance dikembalikan oleh requests.request dan helper per metode.

status_code: int

Kode status HTTP integer yang dikembalikan oleh server.

reason: str

Frasa alasan yang dikembalikan oleh server (str yang didekode).

encoding: str

Pengkodean string yang digunakan untuk mendekode requests.Response.headers dan requests.Response.content. Default ke "utf-8".

headers: str

Header respons yang didekode dengan requests.Response.encoding dan dikembalikan sebagai str.

content: str

Isi respons yang didekode dengan requests.Response.encoding dan dikembalikan sebagai str.

json() dict

Mem-parsing requests.Response.content sebagai JSON dan mengembalikan objek yang dihasilkan.

Fungsi

requests.request(method: str, url: str, data: bytes | None = None, json: Any | None = None, files: dict | None = None, headers: dict = {}, auth: tuple | None = None, stream: Any | None = None) Response

Mengirim permintaan HTTP ke url dan mengembalikan requests.Response.

  • method --- Metode HTTP sebagai str (misalnya "GET", "POST").

  • url --- URL target. Harus dimulai dengan http:// atau https://.

  • data --- Isi permintaan mentah. Jika diatur, Content-Length ditambahkan secara otomatis.

  • json --- Objek yang diserialisasi ke JSON dan dikirim sebagai isi. Mengatur Content-Type: application/json.

  • files --- Dict yang memetakan nama field ke tuple (filename, fileobj). Dikirim sebagai multipart/form-data.

  • headers --- Dict dari header permintaan tambahan.

  • auth --- Tuple (username, password) untuk autentikasi HTTP Basic.

  • stream --- Diterima untuk kompatibilitas API; tidak digunakan.

requests.head(url: str, **kw: Any) Response

Mengirim permintaan HTTP HEAD dan mengembalikan Response.

HEAD identik dengan GET kecuali server membalas hanya dengan baris status dan header; isi kosong. Gunakan untuk memeriksa apakah sumber daya ada, memeriksa Content-Length / Content-Type tanpa mengunduh payload, atau menyelidiki URL sebelum mengeluarkan GET yang lebih berat.

Argumen:

  • url -- URL target; harus dimulai dengan http:// atau https://.

  • headers (kwarg) -- dict dari header permintaan tambahan.

  • auth (kwarg) -- tuple (username, password) untuk autentikasi HTTP Basic.

data / json / files / stream dari request() diterima untuk kelengkapan tetapi jarang masuk akal untuk HEAD.

requests.get(url: str, **kw: Any) Response

Mengirim permintaan HTTP GET dan mengembalikan Response.

GET adalah kata kerja standar untuk mengambil representasi sumber daya yang diidentifikasi oleh url. Ini aman (tidak menyebabkan perubahan status sisi server) dan idempoten.

Argumen:

  • url -- URL target; harus dimulai dengan http:// atau https://.

  • headers (kwarg) -- dict dari header permintaan tambahan (misalnya Authorization atau Accept).

  • auth (kwarg) -- tuple (username, password) untuk autentikasi HTTP Basic.

Isi permintaan melalui data / json diizinkan oleh request() yang mendasarinya tetapi diabaikan oleh sebagian besar server.

requests.post(url: str, **kw: Any) Response

Mengirim permintaan HTTP POST dan mengembalikan Response.

POST mengirimkan data ke url, biasanya membuat sumber daya bawahan baru, memicu pengiriman formulir, atau memanggil suatu tindakan. Ini tidak aman maupun idempoten: panggilan berulang dapat membuat sumber daya duplikat.

Argumen:

  • url -- URL target; harus dimulai dengan http:// atau https://.

  • data (kwarg) -- isi permintaan mentah (seperti bytes). Mengirim header Content-Length secara otomatis.

  • json (kwarg) -- objek yang diserialisasi ke JSON dan dikirim sebagai isi. Mengatur Content-Type: application/json.

  • files (kwarg) -- dict yang memetakan nama field ke (filename, fileobj). Dikirim sebagai multipart/form-data.

  • headers (kwarg) -- dict dari header permintaan tambahan.

  • auth (kwarg) -- tuple (username, password) untuk autentikasi HTTP Basic.

Berikan paling banyak satu dari data / json / files.

requests.put(url: str, **kw: Any) Response

Mengirim permintaan HTTP PUT dan mengembalikan Response.

PUT menggantikan sumber daya di url dengan representasi yang diberikan, membuatnya jika tidak ada. Ini idempoten: mengulangi PUT yang identik menghasilkan status akhir yang sama.

Argumen:

  • url -- URL target; harus dimulai dengan http:// atau https://.

  • data (kwarg) -- isi penggantian mentah (seperti bytes).

  • json (kwarg) -- objek yang diserialisasi ke JSON dan dikirim sebagai isi penggantian. Mengatur Content-Type: application/json.

  • headers (kwarg) -- dict dari header permintaan tambahan.

  • auth (kwarg) -- tuple (username, password) untuk autentikasi HTTP Basic.

Berikan data atau json untuk membawa representasi baru.

requests.patch(url: str, **kw: Any) Response

Mengirim permintaan HTTP PATCH dan mengembalikan Response.

PATCH menerapkan modifikasi parsial pada sumber daya di url -- hanya field yang terkandung dalam isi permintaan yang berubah. Berbeda dengan PUT, tidak diperlukan untuk bersifat idempoten (meskipun banyak API membuatnya demikian).

Argumen:

  • url -- URL target; harus dimulai dengan http:// atau https://.

  • data (kwarg) -- isi delta mentah (seperti bytes). Format bergantung pada server (misalnya JSON Patch, JSON Merge Patch).

  • json (kwarg) -- objek delta yang diserialisasi ke JSON. Mengatur Content-Type: application/json.

  • headers (kwarg) -- dict dari header permintaan tambahan.

  • auth (kwarg) -- tuple (username, password) untuk autentikasi HTTP Basic.

requests.delete(url: str, **kw: Any) Response

Mengirim permintaan HTTP DELETE dan mengembalikan Response.

DELETE meminta penghapusan sumber daya di url. Ini idempoten: menghapus sumber daya yang sudah dihapus bukan merupakan error (server biasanya mengembalikan 404, tetapi status akhirnya sama).

Argumen:

  • url -- URL target; harus dimulai dengan http:// atau https://.

  • headers (kwarg) -- dict dari header permintaan tambahan.

  • auth (kwarg) -- tuple (username, password) untuk autentikasi HTTP Basic.

Isi melalui data / json diizinkan oleh request() yang mendasarinya tetapi jarang digunakan dengan DELETE.