Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membina Rentetan Pertanyaan dengan Cekap untuk Permintaan System.Net.HttpClient GET?

Bagaimana untuk Membina Rentetan Pertanyaan dengan Cekap untuk Permintaan System.Net.HttpClient GET?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-09 09:56:43904semak imbas

How to Efficiently Build Query Strings for System.Net.HttpClient GET Requests?

Membuat Rentetan Pertanyaan untuk Permintaan System.Net.HttpClient GET

Permintaan GET System.Net.HttpClient tidak mempunyai kaedah penambahan parameter langsung, tetapi membina rentetan pertanyaan adalah mudah. Berikut ialah dua pendekatan yang cekap:

Pertama, leverage HttpUtility.ParseQueryString untuk mengelakkan pembinaan pasangan nilai nama manual:

<code class="language-csharp">var query = HttpUtility.ParseQueryString(string.Empty);
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";
string queryString = query.ToString();</code>

Ini menghasilkan:

<code>foo=bar%3c%3e%26-baz&bar=bazinga</code>

Sebagai alternatif, gunakan kelas UriBuilder untuk penyesuaian URI yang lengkap:

<code class="language-csharp">var builder = new UriBuilder("http://example.com");
builder.Port = -1;
var query = HttpUtility.ParseQueryString(builder.Query);
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";
builder.Query = query.ToString();
string url = builder.ToString();</code>

Mengakibatkan:

<code>http://example.com/?foo=bar%3c%3e%26-baz&bar=bazinga</code>

Kedua-dua HttpUtility.ParseQueryString dan UriBuilder menawarkan penyelesaian yang bersih dan cekap untuk membina rentetan pertanyaan dalam permintaan System.Net.HttpClient GET.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn