"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > بسهولة إنشاء طرق سلسلة الاستعلام للنظام. net.httpclient الحصول على طلبات

بسهولة إنشاء طرق سلسلة الاستعلام للنظام. net.httpclient الحصول على طلبات

نشر في 2025-03-13
تصفح:277

How Can I Easily Build Query Strings for System.Net.HttpClient GET Requests?

system.net.httpclient طريقة إنشاء سلسلة سلسلة الاستعلام للحصول على طلب

]]

سؤال:

System.net.httpclient يفتقر إلى واجهة برمجة التطبيقات لإضافة معلمات الحصول على طلب مباشرة. هل هناك طريقة أسهل لبناء سلسلة استعلام دون إنشاء مجموعة قيمة الأسماء يدويًا ، وترميز عنوان URL ، والاتصال؟

إجابة:

بعض. بناء بسهولة سلاسل الاستعلام دون تشغيل يدوي:

// 解析空查询字符串
var query = HttpUtility.ParseQueryString(string.Empty);

// 添加参数
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";

// 将查询转换为字符串
string queryString = query.ToString();

سيؤدي هذا إلى إنشاء سلسلة الاستعلام التالية:

foo=bar&-baz&bar=bazinga
]

أو ، يوفر الاستفادة من فئة Oribuilder حلاً أكثر شمولاً:

// 为目标URL创建一个UriBuilder
var builder = new UriBuilder("http://example.com");
builder.Port = -1;

// 解析查询字符串
var query = HttpUtility.ParseQueryString(builder.Query);

// 添加参数
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";

// 更新UriBuilder的查询字符串
builder.Query = query.ToString();

// 获取完整的URL
string url = builder.ToString();

تنشئ هذه الطريقة عنوان URL التالي:

http://example.com/?foo=bar&-baz&bar=bazinga
]

يمكنك دمج عنوان URL هذا بسلاسة في طريقة getAsync لـ system.net.httpclient لأداء طلبات الحصول على معلمات الاستعلام المطلوبة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3