Ios 如何使用AFNetworking添加请求头?

Ios 如何使用AFNetworking添加请求头?,ios,iphone,afnetworking-2,Ios,Iphone,Afnetworking 2,我想使用AFNetworking类来实现我的应用程序与服务器的通信 我不熟悉这个图书馆。这是我的密码: NSDictionary *user=[[NSDictionary alloc]initWithObjectsAndKeys:@"hiteshp",@"userName",@"12345^",@"password", nil]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

我想使用AFNetworking类来实现我的应用程序与服务器的通信

我不熟悉这个图书馆。这是我的密码:

 NSDictionary *user=[[NSDictionary alloc]initWithObjectsAndKeys:@"hiteshp",@"userName",@"12345^",@"password", nil];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
AFHTTPRequestSerializer *requestSerializer = [AFHTTPRequestSerializer serializer];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
manager.requestSerializer=requestSerializer;   //[AFJSONRequestSerializer serializer];
[manager POST:@"myURL" parameters:user success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@ %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];
我想将标题添加到此请求。我试过了,但不起作用。若我写了注释行,那个么请求就完成了,但我还想在requset中添加一个字段“Authorization”。 以及如何打印请求标题?

在代码中使用此选项:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"application/json", nil];

//Authorization    
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:userName password:password];
在php文件中添加:
header('Content-type:application/json')

在xcode中:
manager.responseSerializer=[AFJSONResponseSerializer序列化程序]

xcode代码示例:

NSDictionary *parameters = @{@"key1": @"value1",
                             @"key2": @"value2"};

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    manager.responseSerializer = [AFJSONResponseSerializer serializer];

    [manager POST:[NSString stringWithFormat:@"http://%@", Url] parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"JSON: %@", responseObject);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);

    }];

我知道为时已晚,但这里有一个代码,让你想要什么

NSString *finalyToken = [[NSString alloc]initWithFormat:@"Bearer %@",user.token];
 AFHTTPRequestOperationManager *manager =
[[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"https://server1.appscserver.de/api"]];
[manager.requestSerializer setValue:finalyToken forHTTPHeaderField:@"Authorization"];

希望它能帮助别人

我想你遇到了错误
“请求失败:不可接受的内容类型:text/html”
,如果是,那么这个解决方案可以帮助你。当然,来自服务器的响应以Json格式发送,比如
Json\u encode($response)
。如果没有,很抱歉。谢谢回复joan。我现在对AFNetworking有很好的经验。@vivek我也在尝试发送授权承载头,但不起作用。。401不受欢迎。我认为“[manager.requestSerializer setValue:FinalyTokenforHttpHeaderField:@“Authorization”;”不是设置身份验证的正确方法。header@Nil它一直对我有效,也许标题字段的名称不同,在我现在工作的项目中,它被称为“X-Auth”。“授权”是最常见的,但请确保您使用的是正确的。@Nil和“承载者”当然也是可选的,这取决于您的Web服务。有时只使用令牌就足够了。这个错误实际上是一个错误setter方法的原因,该方法将承载字符串设置为nil。无论如何,谢谢。Cheers..获取一个错误,在“id”类型的对象上找不到属性“acceptableContentTypes”
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];