2013-04-24 5 views
2

Мне нужно некоторое руководство, как использовать HTTP POST (или GET) запрос из моего приложения iOS. Я хочу отправить одну строку на свой сервер и записать ее в базу данных. Я нашел этот фрагмент кода:Приложение iOS http post/get request

NSString *post = @"key1=val1"; 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:@"http://www.nowhere.com/sendFormHere.php"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

Я добавляю его к кнопке UIAction, но он ничего не отправляет на мой сервер. На моем сервере у меня есть PHP-скрипт, который берет этот «ключ1» из сообщения и чем он записывает его в db.

<? 
    $postr = $_POST["key1"]; 
    $con0 = mysql_connect("server","db","pass"); 
    mysql_select_db("table", $con0); 
    mysql_set_charset('utf8',$con0); 
    mysql_query("INSERT INTO tok (token) VALUES ('$postr')"); 
    mysql_close(); 
?> 

Может ли кто-нибудь сказать мне, что я делаю неправильно?

+0

Нет, конечно, я хочу, чтобы отправить его из IOS App ... Просто нужно знать, что это неправильно – stepik21

+0

Тогда напишите, что вы имел ввиду. Xcode и ваше приложение iOS - это две разные вещи. Вопрос как таковой не имеет ничего общего с Xcode. – 2013-04-24 18:34:33

+0

Почему? Мне нужен код для xcode ... Но хорошо .. Так что теперь вы можете мне помочь? :) – stepik21

ответ

2

AFNetworking - очень мощная библиотека, которая поможет вам уменьшить усилия при создании ваших HTTP-запросов. Вы можете найти несколько примеров того, как использовать эту библиотеку на своей странице github.

Вы можете найти этот ответ полезным для ваших нужд: AFNetworking Post Request

2

Посмотрите на AFnetworking и работать через их API. Отправка почтового запроса с помощью api очень быстро, и это то, что большинство приложений используют для веб-подключения.

Также, пожалуйста, не смущайтесь саркастическими комментариями. Вы должны пометить проекты iOS как iOS, а не xcode (если вам не нужна помощь с фактическим программным кодом xcode). Но я не думаю, что это полезно для всех, кто приходит и делает эту ошибку. Более тактичным способом было бы личное послание, в отличие от общественного реторты

https://github.com/AFNetworking/AFNetworking

+0

Спасибо, я попробую :) – stepik21