Прикрепление zip-файла не работает в WEB API, но работает через POSTMAN - PullRequest
0 голосов
/ 03 октября 2019

У меня есть метод WEB API .net core, который должен вызывать другой внешний API (java), который ожидает файл .zip. Когда вы пытаетесь получить доступ к внешнему API через Postman, прикрепив файл, он работает нормально (получая ожидаемый ответ). Однако, когда я передаю те же параметры через мой код веб-API, выдается ошибка 403. -1003 *

Пожалуйста, дайте мне знать, если я что-то упустил ....

Заранее спасибо! !!

заголовок запроса

файл-тела-запроса-прикрепленный

response-403-error

Код API: для подключения к API:

Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("pane", "forward");
parameters.Add("forward_path", "/store/execute");
parameters.Add("csrf", "1996fe6b2d0c97a8a0db725a10432d83");
parameters.Add("data_format", "binary");
newContent = new FormUrlEncodedContent(parameters);


MultipartFormDataContent form = new MultipartFormDataContent();
HttpContent con;// = new StringContent("file_name");
//form.Add(con, "file_name");
form.Add(newContent);

var str = new FileStream("D:\\dummy\\xmlstore.zip", FileMode.Open);
con = new StreamContent(str);
con.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
    Name = "file_name",
    FileName = "xmlstore.zip"
};
con.Headers.ContentType = new MediaTypeHeaderValue("application/zip");

form.Add(con);
client.DefaultRequestHeaders.Add("Cookie", "JSESSIONID=05DEB277E294CBF73288F2E24682C7EE;");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/html"));
client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("deflate"));
client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("br"));
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("user-agent", "1"));
var resp = client.PostAsync("java-api", con).Result;
...