【发布时间】:2017-11-27 14:33:51
【问题描述】:
我的目标是使用HttpClient 类发出网络请求,以便我可以将响应写入文件(解析后)。因此我需要Stream 的结果。
HttpClient.GetStreamAsync() 只接受字符串requestUri 作为参数。那么就不可能用自定义HttpRequestHeader、自定义HttpMethod、自定义ContentType、自定义内容等创建请求了吗?
我看到HttpWebRequest 有时是used instead,但在我的PCL(Profile111)中没有Add 的Headers 方法。那么我可以使用HttpClient,我应该使用HttpWebRequest,还是应该使用另一个类/库?
【问题讨论】:
-
看看
HttpClient.DefaultRequestHeaders并通过那里设置你的标题 -
您可以随时使用
SendAsync并阅读流内容。 -
@Crowcoder:
SendAsync返回HttpResponseMessage。如何在此处流式传输内容? -
@testing - 通过
.Content.ReadAsStreamAsync? -
@Damien_The_Unbeliever:感谢您的提示。响应是否完全保存在内存中,然后转换为流?我想尽量减少内存占用,因为我在这里处理更大的文件。
标签: c# xamarin.forms stream portable-class-library dotnet-httpclient