gpt4 book ai didi

c# - 具有自定义请求的 HttpClient.GetStreamAsync()?

转载 作者:行者123 更新时间:2023-11-30 21:37:08 27 4
gpt4 key购买 nike

我的目标是使用 HttpClient 类发出网络请求,以便我可以将响应写入文件(解析后)。因此,我需要将结果作为 Stream

HttpClient.GetStreamAsync()只接受字符串 requestUri 作为参数。所以不可能用自定义HttpRequestHeader、自定义HttpMethod、自定义ContentType、自定义内容等创建请求?

我看到 HttpWebRequest 有时是 used instead ,但在我的 PCL (Profile111) 中,Headers 没有 Add 方法.那么我可以使用 HttpClient 吗?我应该使用 HttpWebRequest 还是应该使用另一个类/库?

最佳答案

GetStreamAsync 只是构建和发送无内容 GET 请求的快捷方式。做“长路”是相当简单的:

var request = new HttpRequestMessage(HttpMethod.???, uri);
// add Content, Headers, etc to request
request.Content = new StringContent(yourJsonString, System.Text.Encoding.UTF8, "application/json");
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();
var stream = await response.Content.ReadAsStreamAsync();

关于c# - 具有自定义请求的 HttpClient.GetStreamAsync()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com