#ios #ios5
#iOS #ios5
Вопрос:
Я хочу получить данные с этого URL:http://webservices.ns.nl/ns-api-stations. Для этого URL требуется логин. Как поместить этот логин в мой код? Этот код я использую сейчас.
-(недействительный)fetchStationData { //Метод для извлечения данных
//First lets check wheater there is an internet connection and if the host is reachable
if(internetActive) {
//Internet is active
//Init the parser
parser = [[RSSParser alloc] init];
//Set he parser context
parser.context = context;
//The array to het the data from
NSURL *url = [NSURL URLWithString:@"http://webservices.ns.nl/ns-api-stations"];
//The XML elements to fetch
NSArray *elements = [[NSArray alloc] initWithObjects:@"naam",nil];
//The actual fetchin
[parser fetchStationItemsForUrl:url forElements:elements];
//Save the context ?
[context save:nil];
//Clean up
[elements release];
}
Ответ №1:
Серверу, к которому вы пытаетесь получить доступ и получить некоторые данные, требуется какая-то аутентификация, чтобы разрешить это .. Поэтому, прежде чем пытаться выполнить запрос get, вам необходимо выполнить аутентификацию. Итак, вам нужно знать, какой метод аутентификации (например, Digest Auth) они используют, а также вам нужны имя пользователя и пароль..
Также вам необходимо использовать библиотеку HttpRequest. Я предлагаю вам использовать ASIHTTPRequest, это действительно просто.. Вы также можете выполнить аутентификацию с помощью библиотеки asihttprequest, прежде чем отправлять запрос с сервера.
Комментарии:
1. Отлично работает после добавления фреймворков: CFNetwork, SystemConfiguration, MobileCoreServices и libz. Спасибо.
Ответ №2:
Веб-сайт, на который вы ссылаетесь, защищен базовой аутентификацией. Одним из более простых способов передачи информации аутентификации было бы добавление учетных данных к URL:
http://user:password@webservices.ns.nl/ns-api-stations
Обратите внимание, что веб-сайт не защищен SSL, поэтому вся информация для аутентификации будет передана в открытом виде.