如何在iOS中调用curlweb服务

如何在iOS中调用curlweb服务,ios,iphone,json,web-services,Ios,Iphone,Json,Web Services,如何在ios中调用curlWeb服务,我想在ios应用程序中调用curlWeb服务,它将以JSON格式返回 提前谢谢 Curl只是一种发出HTTP请求的机制。您不需要使用curl。相反,只需使用一个通用的iOS HTTP请求。示例代码: NSError *error; NSURLResponse *response; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:so

如何在ios中调用curlWeb服务,我想在ios应用程序中调用curlWeb服务,它将以JSON格式返回


提前谢谢

Curl只是一种发出HTTP请求的机制。您不需要使用curl。相反,只需使用一个通用的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;`

如果要使用curl登录,请尝试此操作。对于调用任何其他卷曲,您可以使用这个。这对我来说非常有效

NSURL*url=[NSURL URLWithString:@”http:///xyz/login/"];

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];
n错误*错误=nil; NSURLResponse*响应;
NSData*urlData=[NSURLConnection sendSynchronousRequest:req returningResponse:&响应错误:&错误]

欢迎来到stackoverflow。您做了哪些工作?我已经在iOS中使用了简单的web服务,而且我还不熟悉Curl web服务,所以现在我想知道如何调用Curl web服务并从中获得结果。请详细说明。curl是一个http客户端。我可以在我的终端中调用它,它工作正常,但如果我想在浏览器中调用它,它会以任何其他方式显示错误,我可以在浏览器中调用它。可以在我的浏览器中调用吗?这只是一个http请求。。。这根本不是一个卷曲,而且附件比序列化json要困难得多。
    [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];