Вход/Регистрация
iOS. Приемы программирования
вернуться

Нахавандипур Вандад

Шрифт:

Решение

Как и методы GET и POST, метод DELETE можно использовать с помощью NSURLConnection. Необходимо явно задать метод вашего URL как DELETE.

Обсуждение

Напишем простое приложение, которое будет создавать асинхронное соединение и отправлять несколько параметров в строке запроса, а несколько — в теле HTTP. Отправка будет происходить по указанному URL с помощью метода DELETE HTTP:

— (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

NSString *urlAsString = <# Здесь укажите URL веб-сервера #>;

urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];

urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"];

NSURL *url = [NSURL URLWithString: urlAsString];

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];

[urlRequest setTimeoutInterval:30.0f];

[urlRequest setHTTPMethod:@"DELETE"];

NSString *body = @"bodyParam1=BodyValue1&bodyParam2=BodyValue2";

[urlRequest setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

[NSURLConnection

sendAsynchronousRequest: urlRequest

queue: queue

completionHandler: ^(NSURLResponse *response,

NSData *data,

NSError *error) {

if ([data length] >0 &&

error == nil){

NSString *html = [[NSString alloc] initWithData: data

encoding: NSUTF8StringEncoding];

NSLog(@"HTML = %@", html);

}

else if ([data length] == 0 &&

error == nil){

NSLog(@"Nothing was downloaded.");

}

else if (error!= nil){

NSLog(@"Error happened = %@", error);

}

}];

self.window = [[UIWindow alloc] initWithFrame:

[[UIScreen mainScreen] bounds]];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

Этот пример очень напоминает код, рассмотренный в разделах 11.5 и 11.6. Разница заключается в том, что здесь мы использовали HTTP-метод DELETE. Прочая информация практически идентична той, что была изложена в упомянутых разделах.

11.8. Отправка запросов HTTP PUT с применением NSURLConnection

Постановка задачи

Требуется вызывать веб-службу методом HTTP PUT, чтобы размещать ресурс на веб-сервере и, возможно, передать веб-службе определенные параметры, которые будут находиться в теле HTTP или в строке запроса.

Решение

Как и методы GET, POST и DELETE, метод PUT можно использовать с помощью NSURLConnection. Необходимо явно задать метод вашего URL как PUT.

Обсуждение

Напишем простое приложение, которое будет создавать асинхронное соединение и отправлять несколько параметров в строке запроса, а несколько — в теле HTTP. Отправка будет происходить по указанному URL с помощью метода PUT:

— (BOOL) application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

NSString *urlAsString = <# Здесь укажите URL веб-сервера #>;

urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];

urlAsString = [urlAsString stringByAppendingString:@"&param2=Second"];

NSURL *url = [NSURL URLWithString: urlAsString];

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];

  • Читать дальше
  • 1
  • ...
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: