2014-02-11 31 views
-2

如何在ios中調用curl web服務,我想在我的iOS應用程序中調用curl web服務,它將以JSON格式返回。如何在iOS中調用curl web服務

在此先感謝。

+2

歡迎來到stackoverflow。你做了什麼努力? –

+0

我已經在iOS中使用了簡單的網絡服務,並且我是新的Curl網絡服務,所以現在我想知道如何調用並從curl Web服務獲取結果。 – user2547516

+0

請詳細說明。 curl是一個http客戶端。 –

回答

0

Curl只是一個發出HTTP請求的機制。你不需要使用捲曲。而只需使用通用的iOS HTTP請求。示例代碼:

NSError *error; 
NSURLResponse *response; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:someurlString] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0f]; 
[request setHTTPMethod:@"GET"]; 
[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
if (parameters) { 
    [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:somejsondata options:0 error:nil]]; 
} 

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
if(error) { 
    return error; 
} 
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; 
return json;` 
0

如果您想使用curl登錄,請嘗試此操作。爲了調用任何其他捲曲,你可以使用這個。它對我來說非常合適。

NSURL * url = [NSURL URLWithString:@「http:/// xyz/login /」];

 NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url]; 

    [req setHTTPMethod:@"PUT"]; 

    NSString *boundary = @"0x0hHai1CanHazB0undar135"; 

的NSString *的contentType = [NSString的stringWithFormat:@ 「多部分/格式數據;邊界=%@」,邊界];

[req addValue:contentType forHTTPHeaderField: @"Content-Type"]; 

    NSMutableData *body = [NSMutableData data]; 

    // username 

    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"email\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"%@",usernameField.text] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 

    // password 

    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"password\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"%@",passwordField.text] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
    // close form 
    [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 

    // set request body 
    [req setHTTPBody:body]; 

NSError * error = nil; NSURLResponse *響應; NSData * urlData = [NSURLConnection sendSynchronousRequest:req returningResponse:& response error:& error];

+0

這只是一個http請求...它根本不是捲曲,並且附加操作比序列化json要困難得多。 – Stephen