使用JSON在iOS中发送HTTP POST请求

Jul*_*tea 7 post json facebook http ios

所以我目前正在使用Facebook登录我的iOS应用程序,服务器管理员最近通过要求Facebook访问令牌以及通过https进行所有连接来添加安全身份验证.这是我尝试运行的代码,但无论我做什么,我都得到500(内部服务器错误)的服务器响应错误.有任何想法吗?

NSMutableURLRequest *request = [NSMutableURLRequest
                                requestWithURL:[NSURL URLWithString:@"https://XXXXXXXXXXXXXXXX/users.json"]];

NSDictionary *requestData = [[NSDictionary alloc] initWithObjectsAndKeys:
                     userID, @"facebook_id",
                     FBAccessToken, @"fb_token",
                     userName, @"name",
                     nil];
NSError *error;
NSData *postData = [NSJSONSerialization dataWithJSONObject:requestData options:0 error:&error];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

Jef*_*mas 3

以下是记录响应正文的方法。

\n\n
@property (strong, nonatomic) NSMutableData *responseData;\n\n- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response\n{\n    self.responseData = [NSMutableData data];\n    \xe2\x80\xa6\n}\n\n- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data\n{\n    [self.responseData appendData:data];\n    \xe2\x80\xa6\n}\n\n- (void)connectionDidFinishLoading:(NSURLConnection *)connection\n{\n    NSLog(@"response data - %@", [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding]);\n    \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n