gpt4 book ai didi

ios - AFNetworking 错误域代码=-1011 "Request failed: internal server error (500)"

转载 作者:行者123 更新时间:2023-12-02 04:21:04 24 4
gpt4 key购买 nike

我正在使用Afnetwork 2。我是IOS开发的新人。我想使用 POST 方法连接一些 API。

在此 API 中,我还想设置 header 。

这是我的代码

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL];

manager.responseSerializer.acceptableContentTypes =[manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager.requestSerializer setValue:token forHTTPHeaderField:@"X-Auth-Token"];
manager.responseSerializer = [AFJSONResponseSerializer serializer];

[manager POST:@"api/v1/contact-group/add/" parameters:params

success:^(NSURLSessionDataTask *task, id responseObject) {


} failure:^(NSURLSessionDataTask *task, NSError *error) {


}];

当我使用这段代码时,我收到这样的错误

Error Domain=AFNetworkingErrorDomain Code=-1011 "Request failed: internal server error (500)" UserInfo=0xa8b0930 {NSErrorFailingURLKey=http://xxxxxx.info/api/v1/contact-group/add, NSLocalizedDescription=Request failed: internal server error (500), NSUnderlyingError=0xa88cb00 "Request failed: unacceptable content-type: text/html", AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0xaa5a940> { URL: http://xxxxxx.info/api/v1/contact-group/add } { status code: 500, headers {
"Cache-Control" = "no-cache";
Connection = close;
"Content-Type" = "text/html";
Date = "Thu, 12 Jun 2014 15:39:31 GMT";
Server = Apache;
"Set-Cookie" = "laravel_session=.....";
"X-Frame-Options" = SAMEORIGIN;
"X-Powered-By" = "PHP/5.3.28, PleskLin";
} }}

我引用了很多文档和 stackoverflow 问题和答案。他们给出了很多答案。但不幸的是我没有得到解决方案。请帮助我。

请指出我的错误。

注意:当我不带标题使用时,它将返回“无效标题”。它将返回正确的错误消息。

编辑

服务器期望格式方法POST

input
{
"blog_guid": "k39453050345j",
"contact_groups": [
"er234we232",
"tet343i49ti3409t33"
]
}

服务器响应

{
"error": false,
"code": 200,
"message": "Success"
}

我正在发送这样的参数

 NSMutableDictionary *params = [[NSMutableDictionary alloc]
initWithObjects:@[guid, groupName, description]
forKeys:@[APISEND_CONTACTGROUPKEY, APISEND_CONTACTGROUPNAME, APISEND_CONTACTGROUPDESCRIPTION]];

最佳答案

根据您在编辑版本中添加的元素,您似乎没有以服务器期望的格式发送 JSON 数据。

服务器需要一个包含 blog_guidcontact_groups 项的字典,后者本身是一个字符串数组。您必须在自己的代码中仔细遵守这些要求。

在您的代码中,您将发送一个包含 3 个项目的字典:guidgroupNamedescription。此外,组名称没有数组。

尝试这样的事情:

NSArray *groupNames = [[NSArray alloc] initWithObjects:groupName];
NSMutableDictionary *params = [[NSMutableDictionary alloc]
initWithObjects:@[guid, groupNames]
forKeys:@[APISEND_BLOGGUID, APISEND_CONTACTGROUPKEY]];

此外,请检查 APISEND_CONTACTGROUPKEY 是否等于 @"contact_groups" 并且 APISEND_BLOGGUI​​D 是否等于 @"blog_guid" .

为了帮助您进行调试,以防它仍然不起作用,请尝试在 AFNetworking 将 params 变量的值序列化为 JSON 后将其值打印到控制台,并检查它是否正确类似于您在问题中描述的格式(有效的格式)。

关于ios - AFNetworking 错误域代码=-1011 "Request failed: internal server error (500)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com