Python Requests: วิธีโพสต์ข้อมูล JSON อย่างง่ายดายในปี 2026

เรียนรู้วิธีใช้ Python Requests โพสต์ข้อมูล JSON ง่ายๆ ในปี 2026! คู่มือทีละขั้นตอนช่วยให้คุณเริ่มต้นใช้งานไลบรารีนี้ได้ง่ายขึ้น

อาชว์

อาชว์

4 January 2026

Python Requests: วิธีโพสต์ข้อมูล JSON อย่างง่ายดายในปี 2026

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

คุณกำลังมองหาที่จะส่งข้อมูล JSON ไปยังเซิร์ฟเวอร์โดยใช้ Python Requests หรือไม่? ถ้าใช่ คุณมาถูกที่แล้ว! ในบล็อกโพสต์นี้ เราจะมาดูวิธีการใช้ Python Requests เพื่อ POST ข้อมูล JSON เราจะครอบคลุมทุกอย่างตั้งแต่พื้นฐานของการส่งคำขอ POST ไปจนถึงการจัดการการตอบสนองที่ได้รับจากเซิร์ฟเวอร์ และแม้แต่การจัดการข้อผิดพลาดที่อาจเกิดขึ้นระหว่างทาง ดังนั้น มาเริ่มกันเลย!

Python Requests

Python Requests คือไลบรารี Python 3.7+ ที่ช่วยลดความซับซ้อนของกระบวนการส่งคำขอ HTTP/1.1 มันมี API ที่เรียบง่ายสำหรับการโต้ตอบกับวิธีการ HTTP เช่น GET, POST, PUT, PATCH และอื่นๆ

Python Requests: วิธีการ POST HTTP

โค้ดสนิปเป็ตต่อไปนี้แสดงให้เห็นวิธีการใช้ไลบรารี requests เพื่อส่งคำขอ 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)

ในตัวอย่างนี้ เรากำลังส่งคำขอ HTTP POST ไปยัง https://www.example.com/api พร้อมเพย์โหลด JSON ที่มีชื่อผู้ใช้และรหัสผ่าน เมธอด requests.post() ใช้เพื่อส่งคำขอ และรหัสสถานะและการตอบสนองจะถูกพิมพ์ไปยังคอนโซล

คุณสามารถติดตั้งไลบรารี requests ได้โดยใช้คำสั่งต่อไปนี้:

python -m pip install requests

ในบล็อกโพสต์นี้ เราจะเน้นไปที่วิธีการใช้ Python Requests เพื่อส่งคำขอ POST พร้อมข้อมูล JSON

JSON คืออะไร?

JSON ย่อมาจาก JavaScript Object Notation มันเป็น รูปแบบมาตรฐาน สำหรับการแสดงข้อมูลที่มีโครงสร้าง มันเป็นรูปแบบ text-based ที่ใช้ข้อความที่ มนุษย์อ่านได้ เพื่อจัดเก็บและส่งข้อมูลอ็อบเจกต์ที่ประกอบด้วยคู่แอตทริบิวต์-ค่าและอาร์เรย์ (หรือค่าที่สามารถอนุกรมได้อื่นๆ) JSON มักใช้สำหรับการส่งข้อมูลในเว็บแอปพลิเคชัน เช่น การส่งข้อมูลจากเซิร์ฟเวอร์ไปยังไคลเอนต์ หรือในทางกลับกัน

JSON สามารถแสดงข้อมูลได้หกประเภทโดยกำเนิด: สตริง, ตัวเลข, บูลีน, null, อาร์เรย์ และอ็อบเจกต์ ตัวอย่างเช่น นี่คือการแสดง JSON ของบล็อกโพสต์:

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

ตัวอย่างนี้แสดงให้เห็นข้อมูล JSON ทุกประเภท นอกจากนี้ยังแสดงให้เห็นถึงความกระชับของข้อมูลรูปแบบ JSON ซึ่งเป็นหนึ่งในลักษณะที่ทำให้มันน่าสนใจสำหรับการใช้งานใน API

ในแง่อื่นๆ มันเป็นรูปแบบการแลกเปลี่ยนข้อมูลแบบน้ำหนักเบาที่ง่ายสำหรับมนุษย์ในการอ่านและเขียน และง่ายสำหรับเครื่องจักรในการแยกวิเคราะห์และสร้าง JSON เป็นรูปแบบข้อความที่เป็นอิสระจากภาษาอย่างสมบูรณ์ ทำให้เป็นตัวเลือกที่เหมาะสำหรับการแลกเปลี่ยนข้อมูลระหว่างภาษาโปรแกรมต่างๆ

ทำความเข้าใจวิธีการขอ POST

คำขอ POST คือประเภทของวิธีการขอ HTTP ที่ใช้ในการส่งข้อมูลไปยังเซิร์ฟเวอร์เพื่อสร้างหรืออัปเดตทรัพยากร มักใช้เมื่ออัปโหลดไฟล์หรือเมื่อส่งแบบฟอร์มเว็บที่เสร็จสมบูรณ์ วิธีการขอ POST ร้องขอให้เว็บเซิร์ฟเวอร์ยอมรับข้อมูลที่แนบมาในเนื้อหาของข้อความขอ ซึ่งส่วนใหญ่อาจเป็นการจัดเก็บ

รูปแบบมาตรฐานของ JSON สำหรับการแสดงอ็อบเจกต์และข้อมูลทำให้เป็นตัวเลือกยอดนิยมสำหรับการส่งข้อมูลในคำขอ POST ด้วยการใช้ JSON นักพัฒนาสามารถมั่นใจได้ว่าข้อมูลที่ส่งไปยังเซิร์ฟเวอร์ได้รับการจัดระเบียบอย่างดีและเข้าใจง่าย ซึ่งช่วยเพิ่มประสิทธิภาพในการสร้างและอัปเดตทรัพยากร

POST Requests

เมื่อเทียบกับ วิธีการขอ HTTP GET ซึ่งดึงข้อมูลจากเซิร์ฟเวอร์ วิธีการขอ POST ร้องขอให้เว็บเซิร์ฟเวอร์ยอมรับข้อมูลที่แนบมาในเนื้อหาของข้อความขอ ซึ่งส่วนใหญ่อาจเป็นการจัดเก็บ ข้อมูลจำนวนเท่าใดก็ได้ของประเภทใดก็ได้สามารถส่งไปยังเซิร์ฟเวอร์ในเนื้อหาของข้อความขอ

นี่คือตัวอย่างวิธีการใช้ไลบรารี requests เพื่อส่งคำขอ 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)

ในตัวอย่างนี้ เรากำลังส่งคำขอ HTTP POST ไปยัง https://www.example.com/api พร้อมเพย์โหลด JSON ที่มีชื่อผู้ใช้และรหัสผ่าน เมธอด requests.post() ใช้เพื่อส่งคำขอ และรหัสสถานะและการตอบสนองจะถูกพิมพ์ไปยังคอนโซล

วิธีการใช้ Python Requests เพื่อ POST ข้อมูล JSON?

ตอนนี้เรามีความเข้าใจพื้นฐานเกี่ยวกับ Python Requests และ JSON แล้ว มาเจาะลึกวิธีการใช้ Python Requests เพื่อ POST ข้อมูล JSON นี่คือตัวอย่างวิธีการทำ:

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)

ในตัวอย่างนี้ เรากำลังส่งคำขอ HTTP POST ไปยัง https://www.example.com/api พร้อมเพย์โหลด JSON ที่มีชื่อผู้ใช้และรหัสผ่าน เมธอด requests.post() ใช้เพื่อส่งคำขอ และรหัสสถานะและการตอบสนองจะถูกพิมพ์ไปยังคอนโซล โปรดทราบว่าเรากำลังใช้เมธอด json.dumps() เพื่อแปลงพจนานุกรม data เป็นสตริง JSON ก่อนที่จะส่งในเนื้อหาคำขอ

คุณสามารถติดตั้งไลบรารี requests ได้โดยใช้คำสั่งต่อไปนี้:

python -m pip install requests

การจัดการการตอบสนอง

หลังจากส่งคำขอ POST เราจะได้รับการตอบสนองจากเซิร์ฟเวอร์ เราสามารถจัดการการตอบสนองโดยใช้อ็อบเจกต์ response ที่เราสร้างขึ้นก่อนหน้านี้ นี่คือตัวอย่างวิธีการจัดการการตอบสนอง:

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.')

ในตัวอย่างนี้ เรากำลังตรวจสอบรหัสสถานะของการตอบสนองเพื่อดูว่าคำขอสำเร็จหรือไม่ หากรหัสสถานะคือ 200 เราจะพิมพ์ “Success!” มิฉะนั้น เราจะพิมพ์ “An error occurred.”

การจัดการข้อผิดพลาด

บางครั้ง สิ่งต่างๆ ก็ไม่เป็นไปตามแผน ในกรณีที่เกิดข้อผิดพลาดขณะส่งคำขอ POST เราจะต้องจัดการกับมันอย่างเหมาะสม นี่คือตัวอย่างวิธีการจัดการข้อผิดพลาด:

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)

ในตัวอย่างนี้ เรากำลังใช้บล็อก try/except เพื่อจับข้อผิดพลาดใดๆ ที่อาจเกิดขึ้นขณะส่งคำขอ POST หากเกิดข้อผิดพลาด เราจะพิมพ์ข้อความแสดงข้อผิดพลาด

วิธีการส่งคำขอ POST ของ Python พร้อมข้อมูล JSON ใน Apidog?

Apidog เป็นโซลูชันการทดสอบที่มีประสิทธิภาพซึ่งมอบประสบการณ์การทดสอบอินเทอร์เฟซที่แข็งแกร่งยิ่งขึ้นให้กับนักพัฒนา คุณสมบัติขั้นสูง เช่น การสร้างกรณีทดสอบแบบกำหนดเอง การสร้างรายงาน และการทดสอบโหลดช่วยให้นักพัฒนามีความยืดหยุ่นและความสามารถที่มากขึ้นภายในเวิร์กโฟลว์การทดสอบของพวกเขา เมื่อเทียบกับ Postman, Apidog โดดเด่นในฐานะโซลูชันการทดสอบที่ครอบคลุมและมีประสิทธิภาพมากขึ้น

button

ในการส่งคำขอ POST พร้อมข้อมูล JSON ใน Apidog ให้ทำตามขั้นตอนเหล่านี้:

ขั้นตอนที่ 1: เปิด Apidog และสร้างคำขอใหม่

ขั้นตอนที่ 2: คลิกที่แท็บ Request และเลือก POST จากเมนูแบบเลื่อนลง

ขั้นตอนที่ 3: ป้อน URL ของจุดสิ้นสุด API ที่คุณต้องการทดสอบ, in ส่วน Headers เพิ่มส่วนหัวที่จำเป็น ในส่วน Body เลือก JSON จากเมนูแบบเลื่อนลงและป้อนข้อมูล JSON ที่คุณต้องการส่งในเนื้อหาคำขอ

ขั้นตอนที่ 4: คลิกที่ปุ่ม Send เพื่อส่งคำขอและตรวจสอบการตอบสนอง

แค่นั้นแหละ! คุณได้ส่งคำขอ POST ของ Python พร้อมข้อมูล JSON ใน Apidog สำเร็จแล้ว

button

บทสรุป

ในบล็อกโพสต์นี้ เราได้ครอบคลุมวิธีการใช้ Python Requests เพื่อ POST ข้อมูล JSON เราได้ดูพื้นฐานของการส่งคำขอ POST การจัดการการตอบสนอง และการจัดการข้อผิดพลาด เราหวังว่าบล็อกโพสต์นี้จะเป็นประโยชน์สำหรับคุณ และตอนนี้คุณสามารถใช้ Python Requests เพื่อ POST ข้อมูล JSON ได้อย่างง่ายดาย!

คำถามที่พบบ่อย: Python Requests - การส่งข้อมูล JSON

1. อะไรคือความแตกต่างระหว่างคำขอ GET และ POST ใน Python Requests?
คำขอ GET ใช้เพื่อดึงข้อมูลจากเซิร์ฟเวอร์ ในขณะที่คำขอ POST ใช้เพื่อส่งข้อมูลไปยังเซิร์ฟเวอร์เพื่อสร้างหรืออัปเดตทรัพยากร ใน Python Requests คุณใช้ requests.get() สำหรับคำขอ GET และ requests.post() สำหรับคำขอ POST

2. ฉันจะรวมส่วนหัวเมื่อส่งคำขอ POST พร้อมข้อมูล JSON ได้อย่างไร?
ในการรวมส่วนหัวในคำขอ POST คุณสามารถใช้พารามิเตอร์ headers ในเมธอด requests.post() ตัวอย่างเช่น ในการระบุประเภทเนื้อหาเป็น JSON:

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

3. ทำไมฉันควรใช้พารามิเตอร์ json แทน data เมื่อส่งข้อมูล JSON?
เมื่อคุณใช้พารามิเตอร์ json Python Requests จะแปลงพจนานุกรม Python ของคุณเป็นสตริง JSON โดยอัตโนมัติและตั้งค่าส่วนหัว Content-Type ที่ถูกต้อง (application/json) ซึ่งช่วยลดความจำเป็นในการอนุกรมข้อมูลด้วยตนเองโดยใช้ json.dumps()

ตัวอย่างเช่น:

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

4. ฉันจะจัดการรหัสสถานะที่ไม่ใช่ 200 ในการตอบสนองได้อย่างไร?
ในการจัดการข้อผิดพลาดในการตอบสนอง HTTP คุณสามารถตรวจสอบรหัสสถานะของการตอบสนองและดำเนินการที่เหมาะสม นี่คือตัวอย่าง:

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. ฉันควรทำอย่างไรหากเซิร์ฟเวอร์ส่งคืนข้อผิดพลาดเมื่อส่งคำขอ?
คุณสามารถใช้บล็อก try/except เพื่อจับข้อยกเว้นที่อาจเกิดขึ้นเมื่อทำการร้องขอ ตัวอย่างเช่น:

try:
    response = requests.post(url, json={'username': 'user1', 'password': 'password'})
    response.raise_for_status()  # Will raise an exception for 4xx/5xx responses
except requests.exceptions.RequestException as e:
    print(f"Error occurred: {e}")

6. ฉันจะส่งข้อมูล JSON ในคำขอ POST ได้อย่างไรโดยไม่ต้องใช้พารามิเตอร์ json?
หากคุณไม่ต้องการใช้พารามิเตอร์ json คุณสามารถอนุกรมข้อมูลของคุณด้วยตนเองโดยใช้เมธอด json.dumps() และส่งผ่านในพารามิเตอร์ data อย่างไรก็ตาม ตรวจสอบให้แน่ใจว่าได้ตั้งค่าส่วนหัวที่ถูกต้อง:

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

7. ฉันสามารถทดสอบคำขอ POST ด้วยข้อมูล JSON ใน Apidog ได้หรือไม่?
ได้ คุณสามารถทดสอบคำขอ POST ด้วยข้อมูล JSON ใน Apidog ได้ เพียงเลือกเมธอด POST ป้อน URL ตั้งค่าประเภทเนื้อหาเป็น JSON ในส่วนหัว และป้อนข้อมูล JSON ของคุณในเนื้อหาคำขอ Apidog ยังช่วยให้คุณ ตรวจสอบการตอบสนองและตรวจสอบความถูกต้องได้อย่างมีประสิทธิภาพ ทำให้เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการทดสอบ API

8. ฉันจะแก้ไขคำขอ POST ได้อย่างไรหากไม่ได้ผลตามที่คาดไว้?
ในการแก้ไขคำขอ POST ให้ตรวจสอบสิ่งต่อไปนี้:

9. ข้อผิดพลาดทั่วไปเมื่อส่งข้อมูล JSON ด้วย Python Requests คืออะไร?

Explore more

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

เรียนรู้วิธีรัน Mistral Small 3.1 (AI โอเพนซอร์ส) บนเครื่องคุณเองด้วย Ollama คู่มือนี้ง่าย ครอบคลุมการติดตั้ง, การใช้งาน, และเคล็ดลับ

19 March 2025

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

ค้นพบ NDJSON: สตรีมข้อมูลผ่าน HTTP อย่างมีประสิทธิภาพ! คู่มือนี้อธิบายพื้นฐาน, ข้อดีเหนือ JSON, และวิธี Apidog ช่วยทดสอบ/แก้จุดบกพร่อง endpoint สตรีมมิ่ง

18 March 2025

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

ในบทความนี้ เราจะคุยเรื่องนำเข้า/ส่งออก Postman และวิธีแก้ปัญหาที่ยืดหยุ่นกว่า ไม่จำกัดจำนวนครั้ง

18 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API