【发布时间】:2015-02-12 17:19:31
【问题描述】:
我正在尝试向服务器发送 POST 请求,但仍然没有成功。请帮我找出不正确的地方。
共享实例初始化:
- (id)init{
self = [self initWithBaseURL:[NSURL URLWithString:kBaseURL]];
if(self) {
self.
self.responseSerializer = [AFJSONResponseSerializer serializer];
[self.requestSerializer setAuthorizationHeaderFieldWithUsername:@"user" password:@"password"];
parsingQueue = dispatch_queue_create("com.company.queue.parser",NULL);
}
return self;
发布方法主体:
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:[FSApplicationManager sharedInstance].userToken, @"user_token", nil];
[params setObject:[NSNumber numberWithDouble:userId] forKey:@"user_id"];
[params setObject:[NSNumber numberWithDouble:filmId] forKey:@"film_id"];
[params setObject:[NSNumber numberWithBool:NO] forKey:@"sendCopy"];
if([subject length]>0){
[params setObject:subject forKey:@"subject"];
}
[params setObject:message forKey:@"message"];
NSString *URLString = [NSString stringWithFormat:@"%@%@", kBaseURL, kAPISendMessageToUser];
NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:@"POST"
URLString:URLString
parameters:params
error:nil];
[request addValue:[self signatureWithURL:[request.URL absoluteString] requestBody:[[NSString alloc] initWithData:[request HTTPBody] encoding:NSUTF8StringEncoding]] forHTTPHeaderField:@"X-SERVAPI-Signature"];
[request addValue:pub forHTTPHeaderField:@"X-SERVAPI-PublicKey"];
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id response){
NSLog(@"%@", response);
} failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"%@, \n response %@", error, operation.responseObject);
}];
[self.operationQueue addOperation:operation];
return operation;
我得到的错误:
错误域=AFNetworkingErrorDomain 代码=-1011 “请求失败: 内部服务器错误 (500)" UserInfo=0xcf0c2f0 {NSErrorFailingURLKey=https://ppd.someserver.com/api/user/send-message, NSLocalizedDescription=请求失败:内部服务器错误 (500), NSUnderlyingError=0xcf06ce0 "请求失败:不可接受 内容类型:文本/html", AFNetworkingOperationFailingURLResponseErrorKey= { URL:https://ppd.someserver.com/api/user/send-message } { 状态码:500,标题 { 连接=关闭; “内容编码”= gzip; “内容长度”= 1412; “内容类型”=“文本/html;字符集=UTF-8”; 日期 =“2014 年 12 月 14 日星期日 13:46:57 GMT”; P3P = "CP=\"NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM\""; 服务器=阿帕奇; Vary = "接受编码"; "X-Powered-By" = "PHP/5.3.3-7+squeeze19"; } }},
我试图联系负责服务器的人,这就是我得到的:
无需将内容类型添加到您的请求中,但如果您 希望这样做,因为您使用的是 POST 方法,您应该使用: Content-Type: application/x-www-form-urlencoded;
【问题讨论】:
-
顺便说一句,我认为这是在
AFHTTPRequestOperationManager子类中?我认为init中的语法错误是您试图删除的内容,因为它与手头的问题无关?
标签: ios objective-c afnetworking afnetworking-2