Любая альтернатива NSURL? - PullRequest
0 голосов
/ 21 мая 2011

Клиент размышляет о разработке приложения для iPhone и iPad и задал странный вопрос: есть ли способ отправить данные с устройства iOS на сервер, кроме использования NSURL?

Ответы [ 2 ]

0 голосов
/ 05 августа 2016

API NSURL не является способом получения данных с сервера.Это просто класс для хранения URL.Я полагаю, если вы действительно хотите как можно больше избегать NSURL, вы можете хранить URL-адреса в NSString , а затем использовать соответствующие API-интерфейсы для преобразования его в NSURL непосредственно перед его использованием..

Чтобы получить данные с сервера, вы должны использовать либо NSURLSession API (современный), либо NSURLConnection API (довольно грубый).Это достаточно простой способ извлечения данных из URL-адреса HTTP или HTTPS.

Если по какой-то причине вы не хотите использовать ни один из этих API-интерфейсов извлечения URL-адресов, вы можете написать собственный код с помощью сокетов или захватить его.libcurl (лицензия MIT) и добавьте его в свое приложение.Имейте в виду, что если вы пишете свой собственный код сокета или используете libcurl, предполагая, что вы пишете код для iOS, вам потребуется время от времени использовать высокоуровневые API, такие как NSURL или CFHost, для пробуждения сотовой радиосвязи.

0 голосов
/ 21 мая 2011

Я думаю, что вы можете попробовать использовать запрос 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

...