محمود سعداوي2 نشر 25 يوليو 2023 أرسل تقرير نشر 25 يوليو 2023 (معدل) السلام عليكم. ماهو الفرق بين x-www-form-urlencoded و raw عند استعمال postman في مشروع node js تم التعديل في 25 يوليو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Kais Hasan نشر 25 يوليو 2023 أرسل تقرير نشر 25 يوليو 2023 عند اختيار raw فإن ما نقوم بكتابته يتم إرساله كما هو بدون أي تعديل إلى السيرفر. أما في حال اختيار x-www-form-urlencoded فإن البيانات يتم إرسالها بنفس الصيغة التي يتم فيها إرسال بارامترات GET، أي على شكل مفتاح و قيمة. و بالتالي ما تريد استعماله يعتمد على ما تريد إرساله، مثلاً في حال أردت إرسال json عليك اختيار raw و من ثم اختيار json بدلاً من text في الخيارات أقصى اليمين. 1 اقتباس
0 Hessen Nasser نشر 25 يوليو 2023 أرسل تقرير نشر 25 يوليو 2023 وعليكم السلام. بشكل عام، اختيار استخدام "x-www-form-urlencoded" أو "Raw" يعتمد على طبيعة البيانات التي ترسلها وكيفية توقع الخادم لاستلامها. x-www-form-urlencoded: عندما تقوم بتحديد هذا النوع في Postman، سيتم تنسيق بيانات النموذج التي تقوم بإرسالها بتنسيق مفتاح / قيمة (key-value) ووضعها في جسم الطلب (req.body). على سبيل المثال، عند إرسال معلومات مستخدم مثل اسم المستخدم وكلمة المرور، ستكون البيانات تبدو كالتالي: username=john_doe&password=mypassword وهكذا تتم معالجة البيانات على الخادم بسهولة باستخدام طريقة مثل req.body في Node.js. Raw: عند استخدام ترميز "Raw" في Postman، يمكنك إدخال البيانات المطلوب إرسالها بتنسيق نصي (plain text) أو بتنسيق JSON أو XML أو أي تنسيق آخر مطلوب.ويتم ارسالها الي السيرفر بدون اي تعديل عليها، ولكن عند استخدام هذا الترميز، يجب عليك تحديد نوع المحتوى (Content-Type) الصحيح في رأس الطلب (header) لكي يتم توقع الخادم للتعامل مع بيانات الطلب بالشكل الصحيح. 1 اقتباس
0 Mustafa Suleiman نشر 25 يوليو 2023 أرسل تقرير نشر 25 يوليو 2023 الإختلاف هو في طريقة تحويل البيانات إلى سلسلة، حيث يقوم x-www-form-urlencoded بتحويل البيانات إلى سلسلة باستخدام رمز URL، بينما يحول raw البيانات إلى سلسلة كما هي. ونستخدم x-www-form-urlencoded للبيانات التي سيتم إرسالها عبر نموذج ويب، مثلاً لإرسال اسم المستخدم وكلمة المرور إلى خادم، وتحويل تلك البيانات إلى سلسلة، وستبدوا السلسلة الناتجة كالتالي: username=johndoe&password=secret ولاحظ أنه يتم ترميز البيانات بتنسيق مفتاح/قيمة وإرسالها في جسم الطلب. أي لو في إرسال طلب POST لإضافة مستخدم جديد إلى قاعدة البيانات، يمكنك استخدام x-www-form-urlencoded لإرسال البيانات التالية: مثال URL: http://localhost:3000/api/users Body type: x-www-form-urlencoded البيانات: key: name، value: John Doe key: email، value: johndoe@example.com key: age، value: 30 وفي مشروع Node.js، يجب أن تُعالج طلبات POST هذه الأنواع من البيانات في جسم الطلب، باستخدام إطار عمل مثل Express، ويمكنك قراءة بيانات x-www-form-urlencoded أو raw من جسم الطلب كالتالي: const express = require('express'); const bodyParser = require('body-parser'); const app = express(); // تمكين معالجة x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: false })); app.post('/api/users', (req, res) => { const { name, email, age } = req.body; // قم بإجراء الإجراءات اللازمة لإضافة المستخدم إلى قاعدة البيانات هنا res.send('تمت إضافة المستخدم بنجاح'); }); app.listen(3000, () => { console.log('الخادم يعمل على المنفذ 3000'); }); بينما يستخدم raw عادةً للبيانات التي لا يمكن تحويلها إلى سلسلة باستخدام رمز URL، أي في حال كنت تريد إرسال ملف إلى خادم، فتستطيع استخدام raw لتحويل الملف إلى سلسلة، وستبدوا السلسلة الناتجة كالتالي: <file content> أي في حال أننا نريد إرسال بيانات في تنسيق غير مشفر، مثل نص عادي (Plain Text) أو JSON أو XML. ولنفترض أنك ترغب في إرسال طلب POST لإضافة مستخدم جديد باستخدام تنسيق JSON، هنا نستخدم Raw لإرسال البيانات التالية: مثال URL: http://localhost:3000/api/users Body type: Raw واختيار JSON من القائمة المنسدلة البيانات (JSON): { "name": "John Doe", "email": "johndoe@example.com", "age": 30 } وبالمثل يتوجب معالجة طلبات POST لذلك النوع من البيانات في جسم الطلب باستخدام إطار عمل مثل Express، ويمكنك قراءة بيانات x-www-form-urlencoded أو raw من جسم الطلب كالتالي: const express = require('express'); const bodyParser = require('body-parser'); const app = express(); // تمكين معالجة JSON app.use(bodyParser.json()); app.post('/api/users', (req, res) => { const { name, email, age } = req.body; // قم بإجراء الإجراءات اللازمة لإضافة المستخدم إلى قاعدة البيانات هنا res.send('تمت إضافة المستخدم بنجاح'); }); app.listen(3000, () => { console.log('الخادم يعمل على المنفذ 3000'); }); 1 اقتباس
0 عبدالباسط ابراهيم نشر 25 يوليو 2023 أرسل تقرير نشر 25 يوليو 2023 `x-www-form-urlencoded` و `raw` هما نوعان مختلفان من أنواع نموذج البيانات `x-www-form-urlencoded` هو نوع البيانات الافتراضي في Postman ويتم استخدامه لإرسال بيانات النموذج باستخدام ترميز URL المشفر. يتم ترميز القيمة النصية لكل بيانات النموذج باستخدام ترميز URL المشفر ويتم فصل القيم باستخدام الرمز '&'، ويتم إرسالها في جسم الطلب HTTP. `raw` هو نوع بيانات يتيح للمستخدمين إدخال النص الخام (raw text) الذي يتوافق مع نوع MIME المحدد. يمكن استخدام نوع MIME المختلفة مثل `application/json` أو `text/html` أو `text/xml` لإرسال بيانات مختلفة. يمكن استخدام `x-www-form-urlencoded` و `raw` في نفس التطبيق في بعض الحالات، مثل عندما تحتاج إلى إرسال بيانات النموذج البسيطة باستخدام `x-www-form-urlencoded` وبيانات JSON أو XML معقدة باستخدام `raw` في نفس الوقت. ومع ذلك، في معظم الحالات، يتم استخدام أحد هذين النوعين فقط، وذلك يعتمد على نوع بيانات النموذج ومعالجتها في تطبيق Node.js. على سبيل المثال، يتم استخدام `x-www-form-urlencoded` لإرسال بيانات النموذج البسيطة مثل الأسماء والقيم النصية، في حين يناسب `raw` استخدامه لإرسال البيانات المعقدة مثل JSON أو XML. بشكل عام، ينصح باستخدام `x-www-form-urlencoded` في الحالات التي تتطلب إرسال بيانات النموذج البسيطة مثل النصوص والأسماء والقيم الرقمية، بينما ينصح باستخدام `raw` عندما تحتاج إلى إرسال بيانات معقدة مثل JSON أو XML أو بيانات الصور والفيديو. 1 اقتباس
0 بلال زيادة نشر 25 يوليو 2023 أرسل تقرير نشر 25 يوليو 2023 عند استخدام Postman في مشروع Node.js لإرسال طلبات POST، يمكنك اختيار تنسيق بيانات الجسم المُرسلة في الطلب، ومن بين هذه التنسيقات تجد "x-www-form-urlencoded" و "raw". الفرق بينهما يتمثل في كيفية تنسيق وترميز البيانات المرسلة. x-www-form-urlencoded: يستخدم تنسيق "x-www-form-urlencoded" عندما تريد إرسال البيانات كنص عادي مُرمَز في جسم الطلب. يتم ترميز القيم باستخدام نسق ترميز URL المعروف باسم "Percent-Encoding" حيث يتم تحويل المسافات والأحرف الخاصة والرموز غير الآمنة إلى نسق قابل للإرسال عبر الشبكة. Raw: يستخدم تنسيق "Raw" عندما تريد إرسال البيانات بصيغة محددة، مثل نص عادي أو JSON أو XML، دون ترميز إضافي. عند استخدام هذا التنسيق، يجب عليك أن تكون على علم بتنسيق البيانات التي تقوم بإرسالها وتحديد المحتوى بناءً على طلب الخادم. ملحوظة: تتوقف اختيار التنسيق على كيفية استقبال البيانات في خادم Node.js الخاص بك. إذا كنت تستخدم body-parser أو حزمة مشابهة لتحليل بيانات الجسم المرسلة، فمن المهم تحديد التنسيق الصحيح الذي تستخدمه في Postman حتى يتمكن الخادم من فهم البيانات المرسلة بشكل صحيح. 1 اقتباس
السؤال
محمود سعداوي2
السلام عليكم.
ماهو الفرق بين x-www-form-urlencoded و raw عند استعمال postman في مشروع node js
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.