iphone: как получить текст с сайта и показать его в приложении - PullRequest
1 голос
/ 15 марта 2011

У меня есть веб-сайт, на котором отображается текст, и я обновляю этот текст каждый день. Я хочу показать этот текст в приложении iphone. Как я могу получить этот текст с веб-сайта из приложения?что я должен делать ?спасибо

Ответы [ 4 ]

2 голосов
/ 15 марта 2011

1-> вам требуется соединиться с вашим веб-сервером с помощью HTTP-соединения.

2-> Сделать запрос к серверу.

3-> Разобрать ответ сервера, который может содержать вашТекст ".

Для получения технической помощи читайте ниже.

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html

1 голос
/ 15 марта 2011

Самый простой способ - создать REST API. Это может показаться сложным, но это действительно легко. На стороне сервера создайте новую страницу, которая содержит только необработанный текст. Обычно лучше хранить его в формате JSON / XML, но простой текст также подойдет. Теперь с iPhone просто свяжитесь с этим адресом, и данные ответа будут содержать текст. Я не рекомендую разбирать существующую страницу, потому что изменение этой страницы в будущем может привести к тому, что приложение больше не будет работать.

1 голос
/ 15 марта 2011

Я не рекомендую это как лучший способ получить строку с вашего собственного веб-сервера.Это должно указывать вам правильное направление, не ожидайте, что он будет скомпилирован правильно.

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
/* set headers, etc. on request if needed */
[request setURL:[NSURL URLWithString:@"http://example.com/whatever"]];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL];
NSString *html = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];              
NSScanner *scanner = [NSScanner scannerWithString:html];
NSString *token = nil;
[scanner scanUpToString:@"<h1>" intoString:NULL];
[scanner scanUpToString:@"</h1>" intoString:&token];

Это будет захватывать текст из первого тега h1.

0 голосов
/ 19 декабря 2014

Это ответ довольно поздно, но я думаю, что он все еще может помочь в вашем будущем.Вы можете приступить к разбору веб-сайта, и это правильный способ сделать это, но я покажу вам, как это сделать по-другому, это также может быть использовано для чтения XML, HTML, .COM, чего угодно, а также .RSS такон может читать RSS-каналы.
Здесь:

Это может получить ваш первый абзац, если вы попросите, я покажу вам, как получить второй абзац и так далее.

 //This is your URL
    NSURL *URL = [NSURL URLWithString:@"URL HERE"];
    //This is the data your pulling (dont change)
    NSData *data = [NSData dataWithContentsOfURL:URL];

    // Assuming data is in UTF8. (dont change)
    NSString *string = [NSString stringWithUTF8String:[data bytes]];
    //Your textView your not done.
    description.text = string;



    //Do this with your textview

    NSString *webStringz = description.text;



    // Leave this
    NSString *mastaString;
    mastaString = webStringz;
    {
        NSString *webString2222 = mastaString;



        NSScanner *stringScanner2222 = [NSScanner scannerWithString:webString2222];



        NSString *content2222 = [[NSString alloc] init];




        //Change <p> to suit your need like <description> or <h1>
        [stringScanner2222 scanUpToString:@"<p>" intoString:Nil];



        [stringScanner2222 scanUpToString:@"." intoString:&content2222];







        NSString *filteredTitle = [content2222 stringByReplacingOccurrencesOfString:@"<p>" withString:@""];

        description.text = filteredTitle;


    }

Название?То же самое соглашение измените <p> на <title> в RSS <description> и <title>.Изображение?То же самое изменение <p> to what ever your RSS or website uses to get a image to find But remember for both of them when you change the

`вы видите ссылку, которая говорит, что stringByReplacingOccurences вы должны также изменить это.

тогда вы должны удалить это и сделать ваш код следующим образом:

/This is your URL
        NSURL *URL = [NSURL URLWithString:@"URL HERE"];
        //This is the data your pulling (dont change)
        NSData *data = [NSData dataWithContentsOfURL:URL];

        // Assuming data is in UTF8. (dont change)
        NSString *string = [NSString stringWithUTF8String:[data bytes]];
        //Your textView your not done.
        description.text = string;
        NLog(@"%@", string)


        //Do this with your textview

        NSString *webStringz = description.text;



        // Leave this
        NSString *mastaString;
        mastaString = webStringz;

Теперь проверьте ваш журнал, он показывает весь HTML-код вашего веб-сайта, затем прокрутите и прочитайте его, найдите ссылку на изображение и проверьте код перед ним, а также измените String Scanner на ваши потребности, что довольно здорово, и выдолжны изменить строкуByReplacingOccurences of.

Как я уже говорил, изображения немного сложнее, когда вы делаете это с помощью этого метода, но XML-синтаксический анализ намного проще, РАЗ, когда вы его изучаете, смеется.Если вы попросите, я покажу вам, как это сделать.

Убедитесь:

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

ЕСЛИ ВАМ НУЖНО ТОЛЬКО КОММЕНТАРИЙ.

Пока повеселитесь с кодом, который я предоставил, что-то не так, просто комментируйте!!!!!

: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...