Я подхожу к разработке для iOS и хотел бы иметь одно из первых приложений для выполнения HTTP-запроса POST.
Насколько я понимаю, я должен управлять соединением, которое обрабатывает запрос через NSURLConnection
объект, что заставляет меня иметь объект делегата, который, в свою очередь, будет обрабатывать события данных.
Может кто-нибудь прояснить задачу на практическом примере?
Я должен связаться с конечной точкой https, отправив данные аутентификации (имя пользователя и пароль) и получив ответ в виде обычного текста.
источник
didReceiveAuthenticationChallenge
. Есть ли проблемы с безопасностью при жестком кодировании паролей / имен пользователей? Есть ли способ обойти это?РЕДАКТИРОВАТЬ: ASIHTTPRequest был оставлен разработчиком. Это все еще действительно хороший ИМО, но вам, вероятно, теперь стоит поискать в другом месте.
Я настоятельно рекомендую использовать библиотеку ASIHTTPRequest, если вы работаете с HTTPS. Даже без https он предоставляет действительно хорошую оболочку для подобных вещей, и хотя это несложно сделать самостоятельно через простой http, я просто считаю, что библиотека хороша и является отличным способом начать работу.
Сложности HTTPS далеко не тривиальны в различных сценариях, и если вы хотите быть надежными в обработке всех вариантов, вы найдете библиотеку ASI реальной помощью.
источник
Я подумал, что немного обновлю этот пост и скажу, что большая часть сообщества iOS перешла на AFNetworking после того, как
ASIHTTPRequest
была заброшена. Я очень рекомендую это. Это отличная оболочка,NSURLConnection
позволяющая выполнять асинхронные вызовы и практически все, что вам может понадобиться.источник
Вот обновленный ответ для iOS7 +. Он использует NSURLSession, новую актуальность. Заявление об отказе от ответственности, это не проверено и было написано в текстовом поле:
Или еще лучше, используйте AFNetworking 2.0+. Обычно я создаю подкласс AFHTTPSessionManager, но я помещаю все это в один метод, чтобы получить краткий пример.
Если вы используете сериализатор ответов JSON, responseObject будет объектом из ответа JSON (часто NSDictionary или NSArray).
источник
ПРИМЕЧАНИЕ. Пример Pure Swift 3 (Xcode 8): попробуйте следующий пример кода. Это простой пример
dataTask
функцииURLSession
.источник
Xcode 8 и Swift 3.0
Использование URLSession:
Вызов делегата URLSession:
Использование блока GET / POST / PUT / DELETE:
У меня работает нормально .. попробуй 100% гарантия результата
источник
Вот как работает HTTP-запрос POST для iOS 8+ с использованием NSURLSession:
Надеюсь, это удовлетворит ваше следующее требование.
источник