>백엔드 개발 >C++ >System.Net.HttpClient GET 요청에 대한 쿼리 문자열을 어떻게 쉽게 작성할 수 있습니까?

System.Net.HttpClient GET 요청에 대한 쿼리 문자열을 어떻게 쉽게 작성할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-09 09:41:42372검색

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

System.Net.HttpClient GET 요청에 대한 쿼리 문자열 구성 방법

질문:

System.Net.HttpClient에는 GET 요청 매개변수를 직접 추가하는 API가 없습니다. 이름-값 컬렉션, URL 인코딩 및 연결을 수동으로 생성하지 않고 쿼리 문자열을 구축하는 더 쉬운 방법이 있습니까?

정답:

그렇습니다. 수동 작업 없이 쉽게 쿼리 문자열 작성:

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

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

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

다음 쿼리 문자열이 생성됩니다.

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

또는 UriBuilder 클래스를 활용하면 보다 포괄적인 솔루션이 제공됩니다.

<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>

이 방법은 다음 URL을 생성합니다.

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

이 URL을 System.Net.HttpClient의 GetAsync 메서드에 원활하게 통합하여 필수 쿼리 매개변수로 GET 요청을 수행할 수 있습니다.

위 내용은 System.Net.HttpClient GET 요청에 대한 쿼리 문자열을 어떻게 쉽게 작성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.