Python Requests: Cara Mudah Melakukan POST Data JSON di Tahun 2025

Pelajari cara POST data JSON dgn Python Requests di 2025. Panduan langkah demi langkah kami akan membantu Anda memulai!

Ardianto Nugroho

Ardianto Nugroho

8 July 2025

Python Requests: Cara Mudah Melakukan POST Data JSON di Tahun 2025

Apakah Anda ingin mengirim data JSON ke server menggunakan Python Requests? Jika ya, Anda berada di tempat yang tepat! Dalam postingan blog ini, kita akan membahas cara menggunakan Python Requests untuk mengirim data JSON dengan metode POST. Kita akan membahas semuanya mulai dari dasar-dasar mengirim permintaan POST hingga menangani respons yang diterima dari server, dan bahkan menangani kesalahan yang mungkin terjadi di sepanjang jalan. Jadi, mari kita mulai!

Python Requests

Python Requests adalah pustaka Python 3.7+ yang menyederhanakan proses pengiriman permintaan HTTP/1.1. Pustaka ini menyediakan API sederhana untuk berinteraksi dengan metode HTTP seperti GET, POST, PUT, PATCH dan lainnya.

Python Requests: Metode HTTP POST

Cuplikan kode berikut menunjukkan cara menggunakan pustaka requests untuk mengirim permintaan HTTP POST:

import requests

url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
response = requests.post(url, data=data)

print(response.status_code)
print(response.content)

Dalam contoh ini, kita mengirim permintaan HTTP POST ke https://www.example.com/api dengan payload JSON yang berisi nama pengguna dan kata sandi. Metode requests.post() digunakan untuk mengirim permintaan, dan kode status respons serta konten dicetak ke konsol.

Anda dapat menginstal pustaka requests menggunakan perintah berikut:

python -m pip install requests

Dalam postingan blog ini, kita akan fokus pada cara menggunakan Python Requests untuk mengirim permintaan POST dengan data JSON.

Apa itu JSON?

JSON adalah singkatan dari JavaScript Object Notation. Ini adalah format standar untuk merepresentasikan data terstruktur. Ini adalah format berbasis teks yang menggunakan teks yang mudah dibaca manusia untuk menyimpan dan mengirimkan objek data yang terdiri dari pasangan atribut-nilai dan array (atau nilai serializable lainnya). JSON umumnya digunakan untuk mengirimkan data dalam aplikasi web, seperti mengirim data dari server ke klien, atau sebaliknya.

JSON dapat merepresentasikan enam jenis data secara native: string, angka, boolean, null, array, dan objek. Misalnya, berikut adalah representasi JSON dari postingan blog:

{
  "id": 1001,
  "title": "What is JSON?",
  "author": {
    "id": 1,
    "name": "James Walker"
  },
  "tags": [
    "api",
    "json",
    "programming"
  ],
  "published": false,
  "publishedTimestamp": null
}

Contoh ini menunjukkan semua tipe data JSON. Ini juga menggambarkan keringkasan data berformat JSON, salah satu karakteristik yang membuatnya begitu menarik untuk digunakan dalam API.

Dengan kata lain, ini adalah format pertukaran data ringan yang mudah dibaca dan ditulis oleh manusia, dan mudah diuraikan dan dibuat oleh mesin. JSON adalah format teks yang sepenuhnya independen terhadap bahasa, menjadikannya pilihan ideal untuk pertukaran data antar bahasa pemrograman yang berbeda.

Memahami metode permintaan POST

Permintaan POST adalah jenis metode permintaan HTTP yang digunakan untuk mengirim data ke server untuk membuat atau memperbarui sumber daya. Ini sering digunakan saat mengunggah file atau saat mengirimkan formulir web yang telah diisi. Metode permintaan POST meminta agar server web menerima data yang dilampirkan dalam badan pesan permintaan, kemungkinan besar untuk menyimpannya.

Format standar JSON untuk merepresentasikan objek dan data menjadikannya pilihan populer untuk mengirim data dalam permintaan POST. Dengan menggunakan JSON, pengembang dapat memastikan bahwa data yang dikirim ke server terorganisasi dengan baik dan mudah dipahami, sehingga meningkatkan efisiensi pembuatan dan pembaruan sumber daya.

POST Requests

Berbeda dengan metode permintaan HTTP GET, yang mengambil informasi dari server, metode permintaan POST meminta agar server web menerima data yang dilampirkan dalam badan pesan permintaan, kemungkinan besar untuk menyimpannya. Sejumlah data arbitrer dari jenis apa pun dapat dikirim ke server dalam badan pesan permintaan.

Berikut adalah contoh cara menggunakan pustaka requests untuk mengirim permintaan HTTP POST:

import requests

url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
response = requests.post(url, data=data)

print(response.status_code)
print(response.content)

Dalam contoh ini, kita mengirim permintaan HTTP POST ke https://www.example.com/api dengan payload JSON yang berisi nama pengguna dan kata sandi. Metode requests.post() digunakan untuk mengirim permintaan, dan kode status respons serta konten dicetak ke konsol.

Cara Menggunakan Python Requests untuk Mengirim Data JSON dengan Metode POST?

Sekarang kita memiliki pemahaman dasar tentang apa itu Python Requests dan JSON, mari kita selami cara menggunakan Python Requests untuk mengirim data JSON dengan metode POST. Berikut adalah contoh cara melakukannya:

import requests
import json

url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
response = requests.post(url, data=json.dumps(data), headers=headers)

print(response.status_code)
print(response.content)

Dalam contoh ini, kita mengirim permintaan HTTP POST ke https://www.example.com/api dengan payload JSON yang berisi nama pengguna dan kata sandi. Metode requests.post() digunakan untuk mengirim permintaan, dan kode status respons serta konten dicetak ke konsol. Perhatikan bahwa kita menggunakan metode json.dumps() untuk mengonversi kamus data menjadi string JSON sebelum mengirimkannya dalam badan permintaan.

Anda dapat menginstal pustaka requests menggunakan perintah berikut:

python -m pip install requests

Menangani Respons

Setelah mengirim permintaan POST, kita akan menerima respons dari server. Kita dapat menangani respons menggunakan objek response yang kita buat sebelumnya. Berikut adalah contoh cara menangani respons:

import requests

url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}

response = requests.post(url, json=data, headers=headers)

if response.status_code == 200:
    print('Success!')
else:
    print('An error occurred.')

Dalam contoh ini, kita memeriksa kode status respons untuk melihat apakah permintaan berhasil. Jika kode statusnya 200, kita akan mencetak "Success!". Jika tidak, kita akan mencetak "An error occurred.".

Menangani Kesalahan

Terkadang, segala sesuatunya tidak berjalan sesuai rencana. Jika terjadi kesalahan saat mengirim permintaan POST, kita ingin menanganinya dengan baik. Berikut adalah contoh cara menangani kesalahan:

import requests

url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}

try:
    response = requests.post(url, json=data, headers=headers)
    response.raise_for_status()
except requests.exceptions.HTTPError as err:
    print(err)

Dalam contoh ini, kita menggunakan blok try/except untuk menangkap kesalahan apa pun yang mungkin terjadi saat mengirim permintaan POST. Jika terjadi kesalahan, kita akan mencetak pesan kesalahan.

Cara Mengirim Permintaan POST Python dengan Data JSON di Apidog?

Apidog adalah solusi pengujian yang kuat yang memberi pengembang pengalaman pengujian antarmuka yang lebih kuat. Fitur-fitur canggihnya seperti membuat kasus pengujian khusus, menghasilkan laporan, dan pengujian beban memberdayakan pengembang dengan fleksibilitas dan kemampuan yang lebih besar dalam alur kerja pengujian mereka. Dibandingkan dengan Postman, Apidog menonjol sebagai solusi pengujian yang lebih komprehensif dan kuat.

button

Untuk mengirim permintaan POST dengan data JSON di Apidog, ikuti langkah-langkah berikut:

Langkah 1: Buka Apidog dan buat permintaan baru.

Langkah 2: Klik tab Request dan pilih POST dari menu dropdown.

Langkah 3: Masukkan URL endpoint API yang ingin Anda uji, di bagian Headers, tambahkan header yang diperlukan. Di bagian Body, pilih JSON dari menu dropdown dan masukkan data JSON yang ingin Anda kirim dalam badan permintaan.

Langkah 4: Klik tombol Kirim untuk mengirim permintaan dan memeriksa respons.

Itu saja! Anda telah berhasil mengirim permintaan POST Python dengan data JSON di Apidog.

button

Kesimpulan

Dalam postingan blog ini, kita telah membahas cara menggunakan Python Requests untuk mengirim data JSON dengan metode POST. Kita telah membahas dasar-dasar mengirim permintaan POST, menangani respons, dan menangani kesalahan. Kami harap postingan blog ini bermanfaat bagi Anda, dan sekarang Anda dapat menggunakan Python Requests untuk mengirim data JSON dengan metode POST dengan mudah!

FAQ: Python Requests - Mengirim Data JSON

1. Apa perbedaan antara permintaan GET dan POST di Python Requests?
Permintaan GET digunakan untuk mengambil data dari server, sedangkan permintaan POST digunakan untuk mengirim data ke server untuk membuat atau memperbarui sumber daya. Di Python Requests, Anda menggunakan requests.get() untuk permintaan GET dan requests.post() untuk permintaan POST.

2. Bagaimana cara menyertakan header saat mengirim permintaan POST dengan data JSON?
Untuk menyertakan header dalam permintaan POST, Anda dapat menggunakan parameter headers dalam metode requests.post(). Misalnya, untuk menentukan tipe konten sebagai JSON:

headers = {'Content-Type': 'application/json'} 
response = requests.post(url, json=data, headers=headers)

3. Mengapa saya harus menggunakan parameter json alih-alih data saat mengirim data JSON?
Saat Anda menggunakan parameter json, Python Requests secara otomatis mengonversi kamus Python Anda menjadi string JSON dan menetapkan header Content-Type yang benar (application/json). Ini menghilangkan kebutuhan untuk menserialisasikan data secara manual menggunakan json.dumps().

Contohnya:

response = requests.post(url, json={'username': 'user1', 'password': 'password'})

4. Bagaimana cara menangani kode status non-200 dalam respons?
Untuk menangani kesalahan dalam respons HTTP, Anda dapat memeriksa kode status respons dan mengambil tindakan yang sesuai. Berikut adalah contohnya:

response = requests.post(url, json={'username': 'user1', 'password': 'password'})
if response.status_code == 200:
    print("Request was successful")
else:
    print(f"Failed with status code: {response.status_code}")

5. Apa yang harus saya lakukan jika server mengembalikan kesalahan saat mengirim permintaan?
Anda dapat menggunakan blok try/except untuk menangkap potensi pengecualian saat membuat permintaan. Contohnya:

try:
    response = requests.post(url, json={'username': 'user1', 'password': 'password'})
    response.raise_for_status()  # Akan memunculkan pengecualian untuk respons 4xx/5xx
except requests.exceptions.RequestException as e:
    print(f"Error occurred: {e}")

6. Bagaimana cara mengirim data JSON dalam permintaan POST tanpa menggunakan parameter json?
Jika Anda tidak ingin menggunakan parameter json, Anda dapat menserialisasikan data Anda secara manual menggunakan metode json.dumps() dan meneruskannya dalam parameter data. Namun, pastikan untuk menetapkan header yang benar:

import json
headers = {'Content-Type': 'application/json'}
data = json.dumps({'username': 'user1', 'password': 'password'})
response = requests.post(url, data=data, headers=headers)

7. Bisakah saya menguji permintaan POST dengan data JSON di Apidog?
Ya, Anda dapat menguji permintaan POST dengan data JSON di Apidog. Cukup pilih metode POST, masukkan URL, atur tipe konten ke JSON di header, dan masukkan data JSON Anda di badan permintaan. Apidog juga memungkinkan Anda untuk memeriksa respons dan memvalidasinya secara efisien, menjadikannya alat yang hebat untuk pengujian API.

8. Bagaimana cara men-debug permintaan POST jika tidak berfungsi seperti yang diharapkan?
Untuk men-debug permintaan POST, periksa hal berikut:

9. Apa saja kesalahan umum saat mengirim data JSON dengan Python Requests?

Explore more

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Cara Menggunakan Lovable AI (Alternatif Cursor untuk Pengembang Web)

Pelajari cara buat web apa pun dgn Lovable. Panduan lengkap, fitur inovatif, & integrasi Apidog (API gratis).

15 April 2025

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Cara Menambahkan Kunci API Kustom ke Cursor: Panduan Komprehensif

Tutorial ini memandu Anda menyiapkan & mengelola API key khusus di Cursor: OpenAI, Anthropic, Google, & Azure.

11 April 2025

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Cara Menggunakan NVIDIA Llama Nemotron API untuk Agen AI Tingkat Lanjut

Pelajari API NVIDIA Llama Nemotron utk buat agen AI canggih.

11 April 2025

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.