Memperkemas Penciptaan Rentetan Pertanyaan untuk Permintaan GET System.Net.HttpClient
System.Net.HttpClient tidak mempunyai kaedah terbina dalam untuk menambah terus parameter rentetan pertanyaan pada permintaan GET. Walau bagaimanapun, pembinaan rentetan pertanyaan yang cekap boleh dicapai menggunakan alatan .NET yang tersedia, menghapuskan pengekodan dan penyambungan URL manual.
Kaedah HttpUtility.ParseQueryString
menyediakan penyelesaian yang mudah. Ia mencipta NameValueCollection
yang membolehkan anda menambah pasangan nilai kunci. Kaedah ToString()
mengendalikan pengekodan URL secara automatik:
<code class="language-csharp">var query = HttpUtility.ParseQueryString(string.Empty); query["foo"] = "bar&-baz"; query["bar"] = "bazinga"; string queryString = query.ToString(); // Output: foo=bar%253c%253e%2526-baz&bar=bazinga</code>
Untuk pendekatan yang lebih komprehensif, gunakan kelas UriBuilder
untuk membina keseluruhan URL:
<code class="language-csharp">var builder = new UriBuilder("http://example.com"); builder.Port = -1; //optional, remove if port is needed var query = HttpUtility.ParseQueryString(builder.Query); query["foo"] = "bar&-baz"; query["bar"] = "bazinga"; builder.Query = query.ToString(); string url = builder.ToString(); // Output: http://example.com/?foo=bar%253c%253e%2526-baz&bar=bazinga</code>
Kedua-dua kaedah mengurus pengekodan URL dengan berkesan, memudahkan proses mencipta rentetan pertanyaan yang diformat dengan betul untuk permintaan System.Net.HttpClient
GET anda. Ini membawa kepada kod yang lebih bersih dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimana untuk Membina Rentetan Pertanyaan dengan Cekap untuk Permintaan System.Net.HttpClient GET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!