我想创建一个 iPhone 应用程序来将数据发送到 Rest API 服务。如果数据是定义为 geoX#35#geoY#65 的字符串,我应该使用哪个 NSS 方法。正在考虑 NSString 和 NSMutablerequest 来发出我的请求并定义我的字符串,但这在 atm 上不起作用。另外我正在使用 NSURLconnection 建立与服务器的连接(也许这也是错误的)。任何可以帮助的人吗?
提前致谢。
我想创建一个 iPhone 应用程序来将数据发送到 Rest API 服务。如果数据是定义为 geoX#35#geoY#65 的字符串,我应该使用哪个 NSS 方法。正在考虑 NSString 和 NSMutablerequest 来发出我的请求并定义我的字符串,但这在 atm 上不起作用。另外我正在使用 NSURLconnection 建立与服务器的连接(也许这也是错误的)。任何可以帮助的人吗?
提前致谢。
您的连接数据使用特殊字符,如果您尝试使用 NSURLConnection 的 GET 方法执行此操作。它将显示连接错误。为此,您必须使用 POST 方法,例如:
NSData *body = nil;
NSString *contentType = @"text/html; charset=utf-8";
NSURL *finalURL = @"YOUR URL WITH the ?input=";
NSString *yourString = @"geoX#35#geoY#65";
contentType = @"application/x-www-form-urlencoded; charset=utf-8";
body = [[NSString stringWithFormat:@"%@", yourString] dataUsingEncoding:NSUTF8StringEncoding];
if (nil==finalURL) {
finalURL = url;
}
NSMutableDictionary* headers = [[[NSMutableDictionary alloc] init] autorelease];
[headers setValue:contentType forKey:@"Content-Type"];
[headers setValue:mimeType forKey:@"Accept"];
[headers setValue:@"no-cache" forKey:@"Cache-Control"];
[headers setValue:@"no-cache" forKey:@"Pragma"];
[headers setValue:@"close" forKey:@"Connection"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:finalURL
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:body];
self.conn = [NSURLConnection connectionWithRequest:request delegate:self];