【发布时间】:2018-11-17 07:48:52
【问题描述】:
我正在尝试对 c# 控制台应用程序执行一个有效的邮递员 POST 调用,它给了我:禁止 403。 它正在调用 API 并且正在上传 CSV 文件。 这是邮递员的工作电话:
HttpClient c = new HttpClient();
var fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes(@"C:\test7.csv"));
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "test7.csv"
};
fileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("text/csv");
var parameters = new Dictionary<string, string>
{
{ "secret", "mypassword" }
};
HttpContent DictionaryItems = new FormUrlEncodedContent(parameters);
MultipartContent content = new MultipartContent();
//content.Add(formData);
content.Add(DictionaryItems);
content.Add(fileContent);
c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));
var resultado = c.PostAsync("https://www.apiurl,com", content).Result;
我认为我没有将秘密(密码)放在正确的位置。 有什么帮助吗?
【问题讨论】:
-
只是一个疯狂的猜测 - 你的服务器上有身份验证吗?如果是这样,您如何在请求中处理它?
-
谢谢,我有答案了。往下看
标签: c# post file-upload console-application postman