2012-02-10 2 views
4

В настоящее время я использую «dataWithContentsOfURL» для отправки данных на сервер, и я добавляю данные к URL как запрос HTTP GET.Могу ли я использовать «dataWithContentsOfURL» с «HTTP POST»

Однако, поскольку некоторые данные содержат много текста, я хотел бы переключиться с HTTP GET на HTTP POST.

Следовательно, могу ли я использовать dataWithContentsOfURL с HTTP POST. Любой пример?

NSURL *url1 = [NSURL URLWithString:concatenatedString]; 

    dispatch_async(kBgQueue, ^{ 
     NSData* data = [NSData dataWithContentsOfURL: url1]; 
     [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; 
    }); 

Благодаря

ответ

12

Нет, вы не можете сделать это. Вы действительно действительно должны переключиться на использование асинхронного NSURLConnection.

+8

Абсолютно. Никогда не используйте ___withContentsOfURL в реальном приложении. – jsd

+3

@jsd: Согласен, за одним исключением: он отлично подходит для локальных 'file: //' URL-адресов, например. вещи, которые вы получаете от '- [NSBundle URLForResource: withExtension:]'. Но ужасно для чего-то отдаленного. –

+0

Любые причины перехода на NSURLConnection, кроме использования POST. Обратите внимание, что указанный выше код является асинхронным, потому что его между dispatch_async (kBgQueue,^{ – user836026

Смежные вопросы