C# Can';t将web请求从.Net web api发送到远程服务器
我正在尝试从.net web api项目向远程服务器发送post请求,如下所述C# Can';t将web请求从.Net web api发送到远程服务器,c#,asp.net-mvc,web-services,postman,C#,Asp.net Mvc,Web Services,Postman,我正在尝试从.net web api项目向远程服务器发送post请求,如下所述 [AcceptVerbs("GET", "POST")] public string POST() { var values = new NameValueCollection(); values["login_id"] = "XXXX"; values["password"] = "XXXXXXXX"
[AcceptVerbs("GET", "POST")]
public string POST()
{
var values = new NameValueCollection();
values["login_id"] = "XXXX";
values["password"] = "XXXXXXXX";
var response = client.UploadValues("http://10.17.73.60/api/login", values);
var responseString = Encoding.Default.GetString(response);
Console.WriteLine("Rasindu :- " + responseString);
return responseString;
}
它给了我以下的错误
发生了一个错误。
远程服务器返回错误:(400)请求错误。
System.Net.WebException位于
System.Net.WebClient.UploadValues(Uri地址、字符串方法、,
系统.Net.WebClient.UploadValues(字符串)中的NameValueCollection数据
地址、名称值(收集数据)位于
中的EmployeeWebApisService.Controllers.AppController.POST()
C:\Users\rdealk\Documents\visualstudio
2017\Projects\EmployeeWebApiService\EmployeeWebApiService\Controllers\AppController.cs:line
37 at lambda_方法(闭包、对象、对象[])at
System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.c__DisplayClass6_1.b_3(对象
实例,对象[]方法参数)位于
System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(对象
实例,对象[]参数),位于
System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext
controllerContext,IDictionary`2参数,CancellationToken
cancellationToken)---来自上一个位置的堆栈结束跟踪,其中
异常被抛出---在
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务
任务)在
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
System.Web.Http.Controllers.ApiControllerActionInvoker.d_u1.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪---在
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务
任务)在
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
System.Web.Http.Controllers.ActionFilterResult.d_u5.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪---在
System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务
任务)在
System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务
任务)在
System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u15.MoveNext()
我可以使用Postman成功地发送上述请求,而且我还可以将上述请求发送到另一台服务器(而不是远程服务器)。因此,我认为.net配置中存在问题,但我对此一无所知
以下是我对邮递员请求的回复(已成功发送)
根据我发送的邮递员请求
bs-session-id - 97e09c82546d4d9a8b7c4422dc0a49d2
Content-Type - application/json;charset=UTF-8
Content-Length - 1510
此问题的最佳解决方案是什么?请在postmanI中向我们展示您的成功请求,并更新我的问题谢谢。你能不能请邮递员给我一个请求配置?请求数据、请求方法、头等数据都是根据Stacktrace添加的。看起来UploadValues方法需要3个参数,而您只提供了两个。您是否缺少请求方法?得到,邮寄
System.Net.WebClient.UploadValues处的System.Net.WebException(Uri地址、字符串方法、NameValueCollection数据)
bs-session-id - 97e09c82546d4d9a8b7c4422dc0a49d2
Content-Type - application/json;charset=UTF-8
Content-Length - 1510