客户正在考虑开发iPhone和iPad应用程序并提出了一个奇怪的问题:除了使用NSURL之外,有没有办法将数据从iOS设备发送到服务器?
答案 0 :(得分:0)
我认为您可以尝试使用POST请求
responseData = [[NSMutableData data] retain];
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:@"http://www.domain.com/your/servlet"]];
NSString *params = [[NSString alloc] initWithFormat:@"foo=bar&key=value"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
这样,数据将进入请求正文,而不是URL本身
答案 1 :(得分:0)
NSURL API不是从服务器获取数据的一种方式。它只是一个用于存储URL的类。我想如果您确实希望尽可能避免NSURL,您可以将URL存储在 NSString 中,然后使用适当的API将其转换为NSURL用它。
要从服务器获取数据,您可以使用NSURLSession API(现代)或NSURLConnection API(一种苛刻的)。这是从HTTP或HTTPS URL获取数据的一种相当简单的方法。
如果您因某些原因不想使用其中任何一个URL抓取API,您可以使用套接字编写自己的代码或抓取libcurl(MIT许可证)并将其链接到您的应用中。请注意,如果您编写自己的套接字代码或使用libcurl,假设您正在为iOS编写代码,则您需要偶尔使用NSURL或CFHost等高级API来唤醒蜂窝无线电。