1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

Получить Html код страницы из Лотуса?

Тема в разделе "Lotus - Программирование", создана пользователем ak-47, 3 окт 2007.

  1. ak-47

    ak-47 Гость

    Репутация:
    0
    Возможно ли из лотуса отправить HTTP-запрос на какой нибудь сайт, и полученный в ответ HTML код сохранить в переменной ? Желательно сделать это в LS.
    П.с. почему то мне кажется, что существует такая @-функция... а может только кажется?
     
  2. D!m@n

    D!m@n Гость

    Репутация:
    0
    Насчет @-функции - Вам сильно кажется.
    Вам нужен OLE-класс WinHttpRequest. Поищите на MSDN, там все его свойства и методы описаны.

    Как альтернативный вариант - можно подумать в сторону использования классов .NET из-под лотуса (для этого их надо зарегить в системе как OLE-классы с помощью утилиты regasm).

    Но для описанной Вами задачи вполне подойдет WinHttpRequest.
     
  3. D!m@n

    D!m@n Гость

    Репутация:
    0
    Кстати, откопал свой недавний код на эту тему:

    Функция принимает URL и возвращает страничку по этому адресу (как строку).
    Код:
    Function ProcessPage(url As String) As String
    Dim httpobj As Variant
    
    Set httpobj=CreateObject("winhttp.winhttprequest.5.1")
    
    Call httpobj.Open("GET", url, False)
    
    Call httpobj.SetRequestHeader ("Accept-Language", "ru")
    httpobj.SetRequestHeader "Accept-Charset", "Windows-1251" 
    
    httpobj.setRequestHeader "CACHE_CONTROL", "no-cache" 
    httpobj.setRequestHeader "CONNECTION", "Close" 
    
    Call httpobj.Send("")
    
    ProcessPage=httpobj.ResponseText
    
    Set httpobj=Nothing
    End Function
     
  4. oshmianski

    oshmianski Гость

    Репутация:
    0
    Для: ak-47
    1. @URLOpen
    2. GetDocumentByURL method
    для них нужен WebRetriever
    3. на жабе. вот примерный код (__http://www.intertrust.ru/Site/itforum.nsf/all/1CF2925FB5A9460943256A4F0031AF11?OpenDocument). на том же intertrust'е был пример от Ника Норкина.

    Код:
    import java.net.*;
    import java.io.*;
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
    public void NotesMain() {
    
    try {
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    
    // (Your code goes here) 
    
    URL url=new URL("http://www.blackmetal.com");
    InputStream is=url.openStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(is,"windows-1251"));
    try
    {
    String nextLine=null;
    while ((nextLine=br.readLine())!=null) 
    System.out.println(nextLine);
    }
    catch(EOFException e)
    {
    e.printStackTrace();
    }
    br.close();
    is.close();
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
     
  5. ak-47

    ak-47 Гость

    Репутация:
    0
    Спасибо, думаю вариант с джавой предпочтительнее, т.к. может работать в бэк-енд.
     
  6. oshmianski

    oshmianski Гость

    Репутация:
    0
    Для: ak-47
    вот тебе еще
     
Загрузка...

Поделиться этой страницей