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

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

  1. ak-47

    ak-47 Гость

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

    D!m@n Гость

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

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

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

    D!m@n Гость

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

    Функция принимает URL и возвращает страничку по этому адресу (как строку).
    Код (Text):
    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 Гость

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

    Код (Text):
    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 Гость

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

    oshmianski Гость

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

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