简体   繁体   English

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

[英]How can I add a request header with AFNetworking?

I want to use AFNetworking class to my application to communicating with server. 我想在我的应用程序中使用AFNetworking类来与服务器通信。

I am new to this library . 我是这个图书馆的新手。 Here is my code: 这是我的代码:

 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);
}];

I want to add header to this request . 我想为此请求添加标头。 I tried but it is not working . 我试过但它不起作用。 If I wrote commented line then request is done but I also want to add one more field "Authorization" to requset. 如果我写了注释行,那么请求已完成,但我还想再添加一个字段“Authorization”来重新设置。 Andhow to print request header? Andhow打印请求标题?

I know it's too late but here's a code that makes what you want 我知道现在为时已晚,但这里的代码可以满足您的需求

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"];

Hope it helps someone 希望它可以帮助某人

Use this in your code: 在您的代码中使用它:

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

//Authorization    
[manager.requestSerializer setAuthorizationHeaderFieldWithUsername:userName password:password];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

in php file add: header('Content-type: application/json'); 在php文件中添加: header('Content-type: application/json');

in xcode: manager.responseSerializer = [AFJSONResponseSerializer serializer]; 在xcode中: manager.responseSerializer = [AFJSONResponseSerializer serializer];

example xcode code: 示例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);

    }];

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM