Code=-1011 "请求失败:内部服务器错误(500)"

我遇到了这个问题已经两天了,Android 应用使用这个后台接口工作得很好,但我总是收到 500 错误。我的代码如下:

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager POST:urlString parameters:self.param.mj_keyValues  success:^(NSURLSessionDataTask *task, id responseObject) {
        ....
} failure:^(NSURLSessionDataTask *task, NSError *error) {
        ....
}];

但是程序进入了失败的块,我得到了这样的NSError日志:

Error Domain=com.alamofire.error.serialization.response Code=-1011 "请求失败:内部服务器错误(500)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7fc26b49a080> { URL: https://training.duapp.com/record_data } { status code: 500, headers {
Server = openresty;
Content-Type = text/html;charset=utf-8;
Vary = Accept-Encoding;
Content-Language = en;
Date = Fri, 02 Sep 2016 03:55:00 GMT;
Content-Encoding = gzip;
Content-Length = 646;
Connection = keep-alive;
}
}, NSErrorFailingURLKey=https://training.duapp.com/record_data, com.alamofire.serialization.response.error.data=

然后我尝试将 param 从 NSDictionary 转换为 NSData 或 NSString,并用这个值更改 requestSerializer,但是所有尝试都失败并出现错误 500。参数的格式没有错误,这已经得到了我的后台同事的确认。我可以从你那里得到帮助吗?我该怎么做?

点赞
用户3668559
用户3668559

Code=-1011 "Request failed: internal server error (500)" 是服务器端的问题。请与您的服务器团队确认,因为服务器正在返回错误给您的请求。

2016-09-02 04:30:56
用户6653783
用户6653783
# 将NSDictionary格式数据转化为NSString类型
NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; 
[params setObject:@"214" forKey:@"id"]; 

# 设置API请求的base url和path
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/api_url"]; 
NSString *path = @"Path"; 

# 创建AFHTTPSessionManager请求管理对象
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL]; 

# 设置请求数据格式为JSON
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 

# 设置响应数据格式为HTTP响应数据
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

# 设置可接受的响应数据类型为text/html
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

# 发起GET请求,成功时返回NSDictionary类型数据,控制台输出Success:
[manager GET:path parameters:params success:^(NSURLSessionDataTask *task, id responseObject){
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:nil];
    NSLog(@"Success: %@", json);
}failure:^(NSURLSessionDataTask *task, NSError *error){

    # 发起GET请求,失败时返回NSError类型数据,控制台输出Failure:
    NSLog(@"Failure: %@", error);
}];
2016-09-02 05:56:47