2013-07-16 109 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