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 중국어 웹사이트의 기타 관련 기사를 참조하세요!