简体   繁体   English

如何在AFnetworking中设置内容类型

[英]How to set content-type in AFnetworking

I'm having problem with AFNetworking. 我遇到了AFNetworking的问题。 I can't set content-type to application/json . 我无法将content-type设置为application/json How can i do? 我能怎么做? i try a lot of solution, but no one has worked. 我尝试了很多解决方案,但没有人工作过。 here your are my code: 这是你的代码:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  if (self.enableBasicAuth){
    [manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
    [manager.requestSerializer setAuthorizationHeaderFieldWithUsername:[[SOWMerchant merchant]     username] password:[[SOWMerchant merchant] password]];
  }
  [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
  manager.responseSerializer = [AFJSONResponseSerializer serializer];
  [manager POST:[NSString stringWithFormat:@"%@", url] parameters:postData success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [self onSuccessResponse:responseObject request:operation];
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [self onError:error request:operation];
  }];

I get this response 我收到了这个回复

{ URL: https://sbengtest.spotonway.com:9099/v1.0/merchant/check }, response: <NSHTTPURLResponse:  0x10aa20530> { URL: https://sbengtest.spotonway.com:9099/v1.0/merchant/check } { status code: 400,     headers {
Connection = "keep-alive";
"Content-Length" = 192;
"Content-Type" = "text/html";
Date = "Sun, 20 Jul 2014 22:34:59 GMT";
Server = "nginx/1.2.1";
} }>

UPDATE: 更新:

i trye to add this 我试着添加这个

AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

operationManagerInstance.requestSerializer = requestSerializer;

my app crash 我的应用崩溃了

UPDATE 2: it works. 更新2:它的工作原理。 i removed this line 我删除了这一行

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

这对我有用!

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

This Code Work 本代码工作

objective-c Objective-C的

manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/html"];

swift 迅速

manager.responseSerializer.acceptableContentTypes=NSSet (object: "text/html") as Set<NSObject>

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

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