• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Вызов POST (NotesHTTPRequest)

  • Автор темы Автор темы Irina
  • Дата начала Дата начала
  • Теги Теги
    post

Irina

Green Team
31.05.2019
145
2
помогите, пожалуйста
есть агент , который передает данные на внешние сервисы, сейчас сторонняя сторона поменяла данные и теперь возникли проблемы
Код:
    Xml = |<?xml version="1.0" encoding="UTF-8" ?>
                <message xmlns="url">
                <login>| & логин & |</login>
                <body content-type='text/plain'>| & textValue & |</body>
                </message>|
    Set objXmlHttp = CreateObject("Msxml2.XMLHTTP")
    Call objXmlHttp.Open("POST", "url", False)
    Call objXmlHttp.Send(Xml)
но POST выдает ошибку msxml3.dll: Не удается найти указанный ресурс

обращаюсь к сторонней стороне, но все что они советуют , что формат запроса должен быть json методом POST.
то есть в таком виде, как раньше было настроено, уже нет возможности использовать? возможно подскажете, что может вызывать ошибку?
 
Проверьте работу другим средством, например curl или Servistate HTTP Editor.
Крайне не рекомендуется использовать OLE-объекты - лучше java.
 
  • Нравится
Реакции: Irina
помогите, пожалуйста
есть агент , который передает данные на внешние сервисы, сейчас сторонняя сторона поменяла данные и теперь возникли проблемы
Код:
    Xml = |<?xml version="1.0" encoding="UTF-8" ?>
                <message xmlns="url">
                <login>| & логин & |</login>
                <body content-type='text/plain'>| & textValue & |</body>
                </message>|
    Set objXmlHttp = CreateObject("Msxml2.XMLHTTP")
    Call objXmlHttp.Open("POST", "url", False)
    Call objXmlHttp.Send(Xml)
но POST выдает ошибку msxml3.dll: Не удается найти указанный ресурс

обращаюсь к сторонней стороне, но все что они советуют , что формат запроса должен быть json методом POST.
то есть в таком виде, как раньше было настроено, уже нет возможности использовать? возможно подскажете, что может вызывать ошибку?
к тому что сказал @oshmianski есть лотусёвый HttpRequest - со своими заморочками, но работает
 
  • Нравится
Реакции: Irina
спасибо, сейчас буду разбираться, просто агент был создан давно ... и никто его не трогал
 
к тому что сказал @oshmianski есть лотусёвый HttpRequest - со своими заморочками, но работает
лотусёвый HttpRequest -пробую , но пишет As NotesHTTPRequest - Class or type name not found

не могу найти пример для lotusscript как выполнить Post методом json, возможно кто-то может дать ссылку или какой-то пример, как пройти авторизацию
 
лотусёвый HttpRequest -пробую , но пишет As NotesHTTPRequest - Class or type name not found

не могу найти пример для lotusscript как выполнить Post методом json, возможно кто-то может дать ссылку или какой-то пример, как пройти авторизацию
версия домино и нотуса дб 10.0.1ФП2+
ФП лучше ставьте последний, там постоянно что-то фиксят
 
эх не все ) сейчас читаю источники для скачивания, просто ftp не открылись те, что вначале нашла здесь
проверил - чёт не сработало хттп
фтп по томуже адресу (сервера)
пароль/юзер как данный ресурс (имя ресурса без .net)
соединяться filezilla (в браузерах фтп не в чести уже)
 
Последнее редактирование:
  • Нравится
Реакции: Irina
проверил - чёт не сработало хттп
фтп по томуже адресу (сервера)
пароль/юзер как данный ресурс (имя ресурса без .net)
соединяться filezilla (в браузерах фтп не в чести уже)
спасибо за помощь, обновила и все работает теперь

Код:
    Dim ret As String
       Dim URL As String
       Dim headers As Variant
       Dim user As String
       Dim password As String
       Dim webRequest As NotesHTTPRequest
       Set webRequest = session.createhttprequest()

       user = "john@acme.com"
       password = "mypassword"
       webRequest.maxredirects= 5
       URL = "https://www.acme.com"
      
       Call webRequest.Setheaderfield("Authorization", "Basic " + EncodeBase64 (user + ":" + password))
вот не могу понять, Post нашла
Call webRequest.post(URL$, valueV) , только не пойму надо ли в post тоже добавлять (user + ":" + password)

а вот по Send не вижу информации и мне надо добавить несколько параметров при передаче, там и текст и и параметр (
<service>| & service & |</service>
<body content-type='text/plain'>| & textValue & |</body>)
 
В заголовке надо
1618931587459.png
 

Вложения

  • Нравится
Реакции: Irina
спасибо за помощь, обновила и все работает теперь

Код:
    Dim ret As String
       Dim URL As String
       Dim headers As Variant
       Dim user As String
       Dim password As String
       Dim webRequest As NotesHTTPRequest
       Set webRequest = session.createhttprequest()

       user = "john@acme.com"
       password = "mypassword"
       webRequest.maxredirects= 5
       URL = "https://www.acme.com"
     
       Call webRequest.Setheaderfield("Authorization", "Basic " + EncodeBase64 (user + ":" + password))
вот не могу понять, Post нашла
Call webRequest.post(URL$, valueV) , только не пойму надо ли в post тоже добавлять (user + ":" + password)

а вот по Send не вижу информации и мне надо добавить несколько параметров при передаче, там и текст и и параметр (
<service>| & service & |</service>
<body content-type='text/plain'>| & textValue & |</body>)
ещё крайне рекомендую формировать заголовок
Visual Basic:
        Dim ses As New NotesSession', doc As NotesDocument
        Set req=ses.CreateHTTPRequest()
        req.Preferutf8=True
        req.Preferstrings=True
        'если json
        Call req.Setheaderfield("Content-Type", "application/json; charset=UTF-8")
и делать FullTrim для результата
 
ещё крайне рекомендую формировать заголовок
Visual Basic:
        Dim ses As New NotesSession', doc As NotesDocument
        Set req=ses.CreateHTTPRequest()
        req.Preferutf8=True
        req.Preferstrings=True
        'если json
        Call req.Setheaderfield("Content-Type", "application/json; charset=UTF-8")
и делать FullTrim для результата
Код:
        Set req=ses.CreateHTTPRequest()
        req.Preferutf8=True
        req.Preferstrings=True
    
        URL = "http://www"
        service="sss"
        textv= "ddd"

         js = |{
        "service": service,
        "contentType": "text/plain",
        "content": textv,
        }|

        Call req.Setheaderfield("Content-Type", "application/json; charset=UTF-8")
        Call req.Setheaderfield("Authorization", "Basic " + EncodeBase64(user+ ":" + password))

        resp = req.Post(url, js)
но получаю ошибку unable to establish connection to remote server
 
Код:
        Set req=ses.CreateHTTPRequest()
        req.Preferutf8=True
        req.Preferstrings=True
   
        URL = "http://www"
        service="sss"
        textv= "ddd"

         js = |{
        "service": service,
        "contentType": "text/plain",
        "content": textv,
        }|

        Call req.Setheaderfield("Content-Type", "application/json; charset=UTF-8")
        Call req.Setheaderfield("Authorization", "Basic " + EncodeBase64(user+ ":" + password))

        resp = req.Post(url, js)
но получаю ошибку unable to establish connection to remote server
ну в коде выше обращение к серверу которого явно нет в жизни ;)
 
ну в коде выше обращение к серверу которого явно нет в жизни ;)
а вот я не пойму, если доступ с логином и паролем, то в Post как это указать
и второе , правильно ли я указала использование данных, которые получены из базы
js = |{
"user": user,
"password": password,
"service": service,
"contentType": "text/plain",
"content": textv,
}|
 
а вот я не пойму, если доступ с логином и паролем, то в Post как это указать
и второе , правильно ли я указала использование данных, которые получены из базы
js = |{
"user": user,
"password": password,
"service": service,
"contentType": "text/plain",
"content": textv,
}|
проверка json - установить ч-л для этого, я это делаю в идее или разных текстовых редакторах, на венде notepad++
проверка пост запроса - для ФФ есть (через curl и иже с ним) которые позволяют смотреть - ответ от сервера, установите и проверьте до написания кода
 
Последнее редактирование:
  • Нравится
Реакции: Irina
проверка json - установить ч-л для этого, я это делаю в идее или разных текстовых редакторах, на венде notepad++
проверка пост запроса - для ФФ есть (через curl и иже с ним) которые позволяют смотреть - ответ от сервера, установите и проверьте до написания кода
не поняла "проверка json - установить ч-л для этого, я это делаю в идее или разных текстовых редакторах, на венде notepad++" (

по проверке пост запроса:
пишу в пост url ссылку , которую мне дали +
basic auth - логин и пароль +
тип Json +
и пробую без параметров и с одним параметром
эффект одинаковый - An error occurred while fetching the resource: TypeError: NetworkError when attempting to fetch resource.
 
и второе , правильно ли я указала использование данных, которые получены из базы
js = |{
"user": user,
"password": password,
"service": service,
"contentType": "text/plain",
"content": textv,
}|
Неправильно.
Должно быть так: {"поле1": "значение1", "поле2": "значение2"}. У Вас в значениях кавычек нет. Допускаются значения без кавычек только числа и даты.
 
  • Нравится
Реакции: Irina
не поняла "проверка json - установить ч-л для этого, я это делаю в идее или разных текстовых редакторах, на венде notepad++" (
@VladSh уже ответил - json надо проверять, инструменты я назвал

1619023880251.png

ваш вариант даст ошибку
1619023936318.png

а вот если так
1619024084413.png

получим
1619024112768.png

красенькое - это ошибки ;)

идея решает это так
1619024481305.png
 
Последнее редактирование:
  • Нравится
Реакции: Irina
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab