اذهب إلى المحتوى
  • 0

كيفية ارسال طلب من نوع post lu مع كود json في بايثون؟

Fahmy Mostafa

السؤال

أحاول أن أقوم بإرسال طلب من نوع post باستخدام مكتبة requests ولكن يبدو أنه لا يمكنني أن أرسل كود JSON، فقط يمكنني أرسل نصوص باستخدام المدخل data كالتالي:

requests.post('https://example.com/post', data="value")

كيف يمكنني أن أقوم بإرسال كود JSON مع الطلب السابق؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

بدءًا من الإصدار 2.4.2 من مكتبة request ، يمكنك استخدام المُدخل json=  (الذي يأخذ قاموسًا) بدلاً من data=(الذي يأخذ سلسلة) في استدعاء الطلب:

import requests
# طلب POST
r = requests.post('http://httpbin.org/post', json={"key": "value"})
# حالة الطلب
r.status_code
# بيانات JSON
r.json()

وايضاً يمكنك استخدام دالة json.dumps ولكن تذكر بإضافة الرأس الذي يحتوي نوع البيانات content-type

url = "http://localhost:8080"
# بيانات JSON
data = {'key': 'value'}
# رأس نوع البيانات
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
# طلب POST
r = requests.post(url, data=json.dumps(data), headers=headers)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك ببساطة إرسال JSON بواسطة المعامل json بداية من الإصدار  Requests 2.4.2 حيث سيكون الكود كالتالي

url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}

r = requests.post(url, json=payload)
  • ال payload هو البيانات على صيغة JSON

ويمكنك أيضاً استخدام المعامل data ولكن مع استخدام الدالة json.dumps كالتالي

import json #لا تنسى استدعاء json

url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}

r = requests.post(url, data=json.dumps(payload))

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...