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.requestdan helper per metode.- encoding: str¶
Pengkodean string yang digunakan untuk mendekode
requests.Response.headersdanrequests.Response.content. Default ke"utf-8".
- headers: str¶
Header respons yang didekode dengan
requests.Response.encodingdan dikembalikan sebagaistr.
- content: str¶
Isi respons yang didekode dengan
requests.Response.encodingdan dikembalikan sebagaistr.
- json() dict¶
Mem-parsing
requests.Response.contentsebagai 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
urldan mengembalikanrequests.Response.method--- Metode HTTP sebagaistr(misalnya"GET","POST").url--- URL target. Harus dimulai denganhttp://atauhttps://.data--- Isi permintaan mentah. Jika diatur,Content-Lengthditambahkan secara otomatis.json--- Objek yang diserialisasi ke JSON dan dikirim sebagai isi. MengaturContent-Type: application/json.files--- Dict yang memetakan nama field ke tuple(filename, fileobj). Dikirim sebagaimultipart/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
HEADdan mengembalikanResponse.HEADidentik denganGETkecuali server membalas hanya dengan baris status dan header; isi kosong. Gunakan untuk memeriksa apakah sumber daya ada, memeriksaContent-Length/Content-Typetanpa mengunduh payload, atau menyelidiki URL sebelum mengeluarkanGETyang lebih berat.Argumen:
url-- URL target; harus dimulai denganhttp://atauhttps://.headers(kwarg) -- dict dari header permintaan tambahan.auth(kwarg) -- tuple(username, password)untuk autentikasi HTTP Basic.
data/json/files/streamdarirequest()diterima untuk kelengkapan tetapi jarang masuk akal untukHEAD.
- requests.get(url: str, **kw: Any) Response¶
Mengirim permintaan HTTP
GETdan mengembalikanResponse.GETadalah kata kerja standar untuk mengambil representasi sumber daya yang diidentifikasi olehurl. Ini aman (tidak menyebabkan perubahan status sisi server) dan idempoten.Argumen:
url-- URL target; harus dimulai denganhttp://atauhttps://.headers(kwarg) -- dict dari header permintaan tambahan (misalnyaAuthorizationatauAccept).auth(kwarg) -- tuple(username, password)untuk autentikasi HTTP Basic.
Isi permintaan melalui
data/jsondiizinkan olehrequest()yang mendasarinya tetapi diabaikan oleh sebagian besar server.
- requests.post(url: str, **kw: Any) Response¶
Mengirim permintaan HTTP
POSTdan mengembalikanResponse.POSTmengirimkan data keurl, 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 denganhttp://atauhttps://.data(kwarg) -- isi permintaan mentah (sepertibytes). Mengirim headerContent-Lengthsecara otomatis.json(kwarg) -- objek yang diserialisasi ke JSON dan dikirim sebagai isi. MengaturContent-Type: application/json.files(kwarg) -- dict yang memetakan nama field ke(filename, fileobj). Dikirim sebagaimultipart/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
PUTdan mengembalikanResponse.PUTmenggantikan sumber daya diurldengan representasi yang diberikan, membuatnya jika tidak ada. Ini idempoten: mengulangiPUTyang identik menghasilkan status akhir yang sama.Argumen:
url-- URL target; harus dimulai denganhttp://atauhttps://.data(kwarg) -- isi penggantian mentah (sepertibytes).json(kwarg) -- objek yang diserialisasi ke JSON dan dikirim sebagai isi penggantian. MengaturContent-Type: application/json.headers(kwarg) -- dict dari header permintaan tambahan.auth(kwarg) -- tuple(username, password)untuk autentikasi HTTP Basic.
Berikan
dataataujsonuntuk membawa representasi baru.
- requests.patch(url: str, **kw: Any) Response¶
Mengirim permintaan HTTP
PATCHdan mengembalikanResponse.PATCHmenerapkan modifikasi parsial pada sumber daya diurl-- hanya field yang terkandung dalam isi permintaan yang berubah. Berbeda denganPUT, tidak diperlukan untuk bersifat idempoten (meskipun banyak API membuatnya demikian).Argumen:
url-- URL target; harus dimulai denganhttp://atauhttps://.data(kwarg) -- isi delta mentah (sepertibytes). Format bergantung pada server (misalnya JSON Patch, JSON Merge Patch).json(kwarg) -- objek delta yang diserialisasi ke JSON. MengaturContent-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
DELETEdan mengembalikanResponse.DELETEmeminta penghapusan sumber daya diurl. 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 denganhttp://atauhttps://.headers(kwarg) -- dict dari header permintaan tambahan.auth(kwarg) -- tuple(username, password)untuk autentikasi HTTP Basic.
Isi melalui
data/jsondiizinkan olehrequest()yang mendasarinya tetapi jarang digunakan denganDELETE.