使用JSON同步NSURLConnection https发布请求

时间:2014-10-10 05:42:30

标签: ios objective-c json xcode6

我需要使用同步连接向服务器发出HTTPS发布请求。我已经建立了大量的http连接,但由于某种原因,代码不适用于https,我确信网站地址是正确的。

我的一些代码:

请注意,dparam是一个字典对象。

NSError *err;
        NSData *parameterJSONData = [NSJSONSerialization dataWithJSONObject:dparam options:
                                     NSJSONWritingPrettyPrinted error:&err];
        NSString *param = [[NSString alloc] initWithData:parameterJSONData encoding:NSUTF8StringEncoding];
        NSString *post =[[NSString alloc] initWithFormat:@"varnameOne=%@&varnameTwo=%@&param=%@",vone,vtwo,param];

        //my_url is a string defined elsewhere
        NSURL *url=[NSURL URLWithString:my_url];


        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

        NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:url];
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:postData];

        NSError *error = [[NSError alloc] init];
        NSHTTPURLResponse *response = nil;
        NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

我需要同步执行此操作,因为我没有时间将所有数据库调用更改为异步,并且在程序继续之前调用需要完成或失败,因此无论如何都必须使其有效地同步

那说我确实尝试过同步路由,但它不适用于https只有http。

0 个答案:

没有答案