2013-07-16 79 views
0

你能帮我一个例子吗?我在哪里使用一个https网址中的json web服务。 我试过了: 其中urlConParametros是一个https网址。Json网络服务https

NSString* encriptado = nil; 
NSString* urlConParametros = [NSString stringWithFormat:@"%@%@?%@=%@", URL, metodo, key, valorSinEcncriptar]; 
NSError* error; 
if(encriptado == nil){ 
    NSMutableURLRequest *getRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlConParametros]]; 
    [getRequest setHTTPMethod:@"GET"]; 
    NSError *requestError; 
    NSURLResponse *urlResponse = nil; 
    NSData *response1 =[NSURLConnection sendSynchronousRequest:getRequest returningResponse:&urlResponse error:&requestError]; 
    NSString* data = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlConParametros] encoding:NSUTF8StringEncoding 
              error:&error]; 
    return data; 
} 

但返回数据无。 我的问题是,与http,相同的Web服务响应正确的数据,但是当它使用https时,响应是零。

+0

这个问题如何与Xcode相关? – Bhavin

+0

我的第一个猜测是参数编码。 Web服务中是否有一个不带参数的简单端点?从那开始,看看你是否可以简单地工作。然后看看这个http://stackoverflow.com/questions/8088473/url-encode-an-nsstring。另外,一旦你得到这个工作,请考虑更改为异步。 – danh

+0

对不起,它不是Xcode,它的IOS问题。 – user2587694

回答

0

请在问题中添加一些更多详细信息关于您想要什么,您尝试过什么,以及您在实施过程中遇到什么问题?

如果你想从网络服务的一些数据,你可以这样得到它。 :

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlConParametros]]; 
NSString *respStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
NSLog(@"My Response :: %@",respStr); 

如果响应JSON Format,那么你应该做这样的事情:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlConParametros]]; 
NSError* error; 
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 
NSLog(@"My Response :: %@",json); 

示例代码看看为AdvancedURLConnections

+0

我想,在一个https url中使用json。 – user2587694

+0

@ user2587694:这是什么意思?正确解释。 – Bhavin

+0

好吧,当请求是https时,认证会在第一时间响应,并且响应不是数据。我如何获得数据。 – user2587694