IOS - сделать http-запрос с определенным типом mime

У меня есть служба REST, работающая на локальном сервере Apache. Я пытаюсь отправить http-запрос, чтобы вызвать его из приложения ios. Я пробовал разными способами, но запрос, похоже, не доходит до сервера.

РЕДАКТИРОВАТЬ: Служба REST решает, что вызывать, на основе определенного типа MIME, поэтому я устанавливаю тип содержимого.

Это то, что у меня есть на данный момент для кода:

- (IBAction)fetchTweet
{
    NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8080/Jersey/rest/hello"];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

    [request addValue:@"text/html; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request     delegate:self];

    self.connection = connection;
    [connection start];

}


- (IBAction)go:(id)sender
{
    [self fetchTweet];
    self.label.text = @"Working";
}

person user3461851    schedule 25.03.2014    source источник


Ответы (1)


Это синхронный запрос. Попробуйте использовать приведенный ниже код для этого сервера синхронно. По крайней мере, это позволит убедиться, что все работает нормально. responseData можно записать в файл, чтобы увидеть ответ.

NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8080/Jersey/rest/hello"];

NSURLResponse *urlResponse = nil;
NSData *responseData = nil;

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request addValue:@"text/html; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];

responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&theError];
person Aneesh Dangayach    schedule 25.03.2014
comment
Спасибо за ответ. Я пытался использовать это, но он говорит, что нет известного метода класса для селектора «sendSychronousRequest: returningResponse». - person user3461851; 26.03.2014
comment
Можете ли вы проверить группу Frameworks -> Other Frameworks и проверить, существует ли там базовая структура или нет. - person Aneesh Dangayach; 26.03.2014
comment
Каркас фундамента есть. Возможно, я что-то неправильно настроил в заголовочном файле. - person user3461851; 26.03.2014
comment
Перейдите в свой проект -> вкладка «Общие» -> см. связанные фреймворки и библиотеки и проверьте, добавлены ли фреймворки Cocoa и все остальное. - person Aneesh Dangayach; 26.03.2014
comment
Среди связанных фреймворков и библиотек есть фреймворки coreGraphics UIKit и Foundation. - person user3461851; 26.03.2014
comment
Нет, похоже, его нет в списке, из которого можно добавить. - person user3461851; 26.03.2014
comment
Нажмите «+», откроется лист, затем найдите «какао» и просто добавьте его. - person Aneesh Dangayach; 26.03.2014
comment
Да, это то, что я имею в виду, его нет в этом списке. - person user3461851; 26.03.2014
comment
Импортируйте этот файл в файл .h и попробуйте #import ‹Foundation/Foundation.h› - person Aneesh Dangayach; 26.03.2014
comment
Я сделал часть #import ‹Foundation/Foundation.h›. Я думаю, что мне нужно установить инструменты командной строки, чтобы получить структуру какао, поэтому я делаю это сейчас. - person user3461851; 26.03.2014
comment
Да, это единственное, что сейчас я думаю, что тебя не хватает, - person Aneesh Dangayach; 26.03.2014
comment
У меня возникли проблемы с попыткой добавить структуру какао, после прочтения кажется, что она мне не нужна для разработки ios. Однако запрос все еще не достигает сервера. - person user3461851; 26.03.2014