c# - 如何在标头中使用 cookie 进行 POST 请求,例如 cURL 请求
问题描述
我正在尝试实现一个简单的HttpClient
请求,比如这个 cURL 请求。
我有这个运行正常的 CURL:
curl "http://url.com" -H "Cookie: token=hbfoiuoi..." --data "idTienda=9734&fechaDesde=22%2F03%2F2019&fechaHasta=22%2F03%2F2019 --compressed
响应返回一个 Excel 文档:
<data contentType="application/vnd.ms-excel" contentLength="3753">UEsDBBQACAAIAM+...
但是HttpClient
请求没有运行。它不返回任何东西:
var uri = new Uri("http://url.com");
var client = new HttpClient(new HttpClientHandler { UseCookies=false});
client.BaseAddress = uri;
client.DefaultRequestHeaders.Add("Cookie", "token=hbfoiuoi...");
var parameters = new Dictionary<string, string>();
parameters.Add("id", "9734");
parameters.Add("fechaD", "22/03/2019");
parameters.Add("fechaH", "22/03/2019");
var content = new FormUrlEncodedContent(parameters);
var responsetotalSalesStore= await client.PostAsync(uri, content);
byte[] bytes = await responsetotalSalesStore.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("file.xls", bytes);
回应是:
{
"success": false,
"message": "null",
"result": null,
"limitReached": false
}
解决方案
推荐阅读
- javascript - 如何选择jQuery变量的内部
- xcode - 如何使用 Xcode UI Recording 从 CarPlay 访问所有 UI 元素?
- c# - System.Net.Http.HttpRequestException:将内容复制到流时出错。---> System.IO.IOException: 响应提前结束
- powershell - 强制安装模块始终安装到用户文件夹
- javascript - 动态渲染来自两个数组的信息
- lua - 对表数组进行排序
- java - 在 .jar 包中找不到 Java / Mvn 本地资源
- javascript - 用 javascript 编写的数字时钟代码在 HTML 中显示错误的时间和偏移量
- android - 如何为我的整个颤振应用程序提供线性渐变?
- java - 没有合格的 bean - FxWeaver 和 Spring Boot