我正尝试从.net Web api项目向我的远程服务器发送发布请求,如下所述,
[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地址,String方法, System.Net.WebClient.UploadValues(String处的NameValueCollection数据) 地址,NameValueCollection数据)在 EmployeeWebApiService.Controllers.AppController.POST()在 C:\ Users \ rdealk \ Documents \ Visual Studio 2017 \ Projects \ EmployeeWebApiService \ EmployeeWebApiService \ Controllers \ AppController.cs:line 37在lambda_method(Closure,Object,Object [])在 system.web.Http.Controllers.ReflectedHttpactionDescriptor.actionExecutor。 c__DisplayClass6_1.b__3(Object 实例,Object [] methodParameters)在 system.web.Http.Controllers.ReflectedHttpactionDescriptor.actionExecutor.Execute(Object 实例,Object []参数)位于 system.web.Http.Controllers.ReflectedHttpactionDescriptor.ExecuteAsync(HttpControllerContext controllerContext,IDictionary`2参数,CancellationToken cancelToken)---从先前位置开始的堆栈结束跟踪 引发了异常--- System.Runtime.CompilerServices.Taskawaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.Taskawaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) system.web.Http.Controllers.ApiControlleractionInvoker.d__1.MoveNext() ---从上一个引发异常的位置开始的堆栈跟踪- System.Runtime.CompilerServices.Taskawaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.Taskawaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) system.web.Http.Controllers.actionFilterResult.d__5.MoveNext() ---从上一个引发异常的位置开始的堆栈跟踪- System.Runtime.CompilerServices.Taskawaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.Taskawaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) system.web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()
我可以使用邮递员成功发送上述请求,也可以将上述请求发送到其他服务器(非远程服务器)。因此,我认为.net配置中存在问题,但对此我一无所知。
以下是我对邮递员要求的回复(成功发送)
{
"User": {
"user_id": "1","name": "Administrator","gender": "1","birthday": "1977-10-08T04:00:00.00Z","photo_exists": "false","pin_exists": "false","login_id": "admin","password_exists": "true","updated_count": "0","last_modified": "0","start_datetime": "2001-01-01T00:00:00.00Z","expiry_datetime": "2030-12-31T23:59:00.00Z","security_level": "0","display_duration": "20","display_count": "3","permission": {
"id": "1","description": "this is a permission for Administrator","filter": {
"UserGroup": [
"1"
],"DeviceGroup": [
"1"
],"DoorGroup": [
"1"
],"ElevatorGroup": [
"1"
],"ZoneType": [
"-1"
],"accessGroup": [
"0"
],"GraphicMapGroup": [
"1"
]
},"module": {
"Dashboard": {
"read": "true","write": "true"
},"User": {
"read": "true","Device": {
"read": "true","Door": {
"read": "true","Elevator": {
"read": "true","Zone": {
"read": "true","accessControl": {
"read": "true","Monitoring": {
"read": "true","TA": {
"read": "true","Setting": {
"read": "true","Video": {
"read": "true","Visitor": {
"read": "true","write": "true"
}
},"device": {
"id": "547239744"
},"user": {
"id": "1","id": "1319","id": "1970","id": "2345","id": "2373"
}
},"inherited": "false","user_group_id": {
"id": "1","name": "All Users"
},"disabled": "false","expired": "false","fingerprint_template_count": "0","face_count": "0","card_count": "0","need_to_update_pw": "false"
},"Response": {
"code": "0","link": "http://biostar.com/response.html","message": "Success"
}
}
根据我发送的邮递员请求的标题,
bs-session-id - 97e09c82546d4d9a8b7c4422dc0a49d2
Content-Type - application/json;charset=UTF-8
Content-Length - 1510
此问题的最佳解决方案是什么?