Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Membina Rentetan Pertanyaan dengan Mudah untuk Permintaan System.Net.HttpClient GET?

Bagaimanakah Saya Boleh Membina Rentetan Pertanyaan dengan Mudah untuk Permintaan System.Net.HttpClient GET?

Patricia Arquette
Lepaskan: 2025-01-09 09:41:42
asal
368 orang telah melayarinya

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

Kaedah pembinaan rentetan pertanyaan untuk permintaan System.Net.HttpClient GET

Soalan:

System.Net.HttpClient tidak mempunyai API untuk terus menambah parameter permintaan GET. Adakah terdapat cara yang lebih mudah untuk membina rentetan pertanyaan tanpa membuat koleksi nilai nama, pengekodan URL dan penyatuan secara manual?

Jawapan:

Ya. Bina rentetan pertanyaan dengan mudah tanpa usaha manual:

<code class="language-csharp">// 解析空查询字符串
var query = HttpUtility.ParseQueryString(string.Empty);

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

// 将查询转换为字符串
string queryString = query.ToString();</code>
Salin selepas log masuk

Ini akan menjana rentetan pertanyaan berikut:

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

Sebagai alternatif, menggunakan kelas UriBuilder menyediakan penyelesaian yang lebih komprehensif:

<code class="language-csharp">// 为目标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();</code>
Salin selepas log masuk

Kaedah ini menjana URL berikut:

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

Anda boleh menyepadukan URL ini dengan lancar ke dalam kaedah GetAsync System.Net.HttpClient untuk melaksanakan permintaan GET dengan parameter pertanyaan yang diperlukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membina Rentetan Pertanyaan dengan Mudah untuk Permintaan System.Net.HttpClient GET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan