asp.net-web-api - 附加 zip 文件在 WEB API 中不起作用,但通过 POSTMAN 起作用
问题描述
我有一个 .net 核心 WEB API 方法,需要调用另一个需要 .zip 文件的外部 API (java)。当尝试通过附加文件通过 Postman 访问外部 API 时,它工作正常(获得预期响应)。但是,当我通过我的 WEB API 代码传递相同的参数时,它会抛出 403-Forbidden 错误。
如果我遗漏任何东西,请告诉我......
提前致谢!!!
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;
解决方案
推荐阅读
- java - 你如何在 Java 中使用 PerspectiveAPI?
- python - VSCode Python 3+ Microsoft 扩展不会警告传入不同类型的参数
- python-3.x - “tensorflow.python.framework.errors_impl.FailedPreconditionError”同时运行“model_main_tf2.py”以在 tensorflow 中训练对象检测模型
- c - 代码运行没有错误或警告,但它崩溃
- unity3d - Unity Build 以混合现实为目标,但未出现在应用程序中
- c - C 编程 - 进程以状态 -1073741510 终止
- php - 如何使用 Eloquent 在 Laravel 中从多个选择中保存数组数据
- java - 为什么 sendKeys 不能随时发送每个字符?
- reactjs - React-redux 在线示例不应该工作
- python - Python venv 与 python3.6 显式工作,但不适用于 python3.8