VBS POST-запрос с заголовком "ContentType", "application/json"

Тема в разделе "Visual Basic 6 / Сценарии VBScript, JScript", создана пользователем лис.хвост, 17 сен 2015.

Метки:
  1. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983
    Добрый день.
    Отправляю запрос на адрес "http://kad.arbitr.ru/Kad/SearchInstances" - Картотека арбитражных дел. Цель - получить данные о банкротном деле (поиск осуществляется по ИНН). В firebug все выглядит приблизительно так:
    [​IMG]
    ответ:
    {"Result":{"PagesCount":1,"Page":1,"PageSize":25,"TotalCount":1,"Items":[{"CaseId":"3f35d6eb-1c58-43e3-9009-faac79504f94","CaseNumber":"А65-2505/2015","CaseType":"Б","CourtName":"АС Республики Татарстан","Date":"2015-02-06T00:00:00","Plaintiffs":{"Count":2,"Participants":[{"Name":"Федеральная налоговая служба России, г. Казань","Inn":"1654009437","Address":"420111, Россия, г.Казань, РТ, ул. Театральная, д. 13А","OrganizationForm":null,"SubjectCategories":["b94301b2-e2dd-4ff6-a5f9-0d80e374e677"]},{"Name":"Федеральная налоговая служба, г. Москва","Inn":"1644025493","Address":"127381, Россия, г.Москва, РФ, ул. Неглинная,23","OrganizationForm":null,"SubjectCategories":["b94301b2-e2dd-4ff6-a5f9-0d80e374e677"]}]},"Respondents":{"Count":1,"Participants":[{"Name":"ЗАО \"Трикотаж\", г. Казань","Inn":"1654017519","Address":"420111, Россия, г.Казань, РТ, ул. Саид-Галеева, д. 6","OrganizationForm":"5be9aa1d-4207-40a3-bd98-755093757f18","SubjectCategories":["f3dc4121-9ded-4ac4-b329-80bb06eef1c9"]}]},"IsSimpleJustice":false,"Judge":"Минапов А. Р."}]},"Message":"","Success":true,"ServerDate":"2015-09-16T14:47:26","Timings":null}
    Код (Text):
    Option Explicit
    Call main
    Sub main
    Dim xpl, xmlHTTP, adr, auth, rez
        Set xpl = Report.GetXPL()
        Set xmlHTTP = CreateObject("Microsoft.XMLHTTP")
        adr="http://kad.arbitr.ru/Kad/SearchInstances"
        auth="{""Page"":1,""Count"":25,""CaseType"":""B"",""Courts"":[],""DateFrom"":Null,""DateTo"":Null,""Sides"":[{""Name"":""165401751"",""Type"":-1,""ExactMatch"":False}],""Judges"":[],""CaseNumbers"":[],""WithVKSInstances"":False}"
        auth=URLEncode(auth)
        xmlHTTP.Open "POST", adr, False
        xmlHTTP.setRequestHeader "ContentType", "application/json"
        xmlHTTP.setRequestHeader "X-Requested-With", "XMLHttpRequest"
        xmlHTTP.setRequestHeader "Referer", "http://kad.arbitr.ru/"
        xmlHTTP.setRequestHeader "x-Date-format", "iso"
        xmlHTTP.setRequestHeader "Cache-Control", "no-cache"
        xmlHTTP.setRequestHeader "Connection", "keep-alive"
        xmlHTTP.setRequestHeader "Content-Length", "192"
        xmlHTTP.setRequestHeader "Host", "kad.arbitr.ru"
        xmlHTTP.Send()
        rez = xmlHTTP.responseText
        xpl.GetXParamValue("otvet").SetStr rez
    End Sub
    Function URLEncode(Data)
    Dim oScript, this
        Set oScript = CreateObject("ScriptControl")
        oScript.Language = "JavaScript"
        Set this = oScript.Eval("this")
        URLEncode = this.encodeURIComponent(Data)
    End Function
    В результате работы этого кода я получаю список всех дел. Может кто подскажит в чем дело
     
    Kиpилл нравится это.
  2. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.839
    Симпатии:
    1.829
    Приносим извинения,
    ведутся профилактические работы.
    Сервис временно недоступен.
     
  3. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983

    Вложения:

    • post_bankrot.zip
      Размер файла:
      758 байт
      Просмотров:
      6
  4. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.839
    Симпатии:
    1.829
  5. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983
    ок, закомментируйте строку auth=URLEncode(auth)
     
  6. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.839
    Симпатии:
    1.829
    vbs1.png
     
  7. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983
    Phoenix, да, тащит все дела
     
  8. Dragokas
    Онлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.473
    Симпатии:
    4.303
    Код (vb.net):
    Option Explicit

    'Private Sub Form_Load()
        Call main
    'End Sub

    Sub main()
    Dim xpl, xmlHTTP, adr, auth, rez, PostData
        'Set xpl = Report.GetXPL()
        Set xmlHTTP = CreateObject("Microsoft.XMLHTTP")
        adr = "http://kad.arbitr.ru/Kad/SearchInstances"
       
        PostData = "{""Page"":1,""Count"":25,""Courts"":[],""DateFrom"":null,""DateTo"":null,""Sides"":[],""Judges"":[],""CaseNumbers"":[""А83-4276/2015""],""WithVKSInstances"":false}"
       
        'Data = URLEncode(Data)
        'xmlHTTP.Open "POST", adr, False
       
        xmlHTTP.Open "POST", "http://kad.arbitr.ru/SearchInstances", "false"
        xmlHTTP.SetRequestHeader "x-date-format", "iso"
        xmlHTTP.SetRequestHeader "Content-Type", "application/json"
        xmlHTTP.SetRequestHeader "X-Requested-With", "XMLHttpRequest"
        xmlHTTP.SetRequestHeader "Accept", "application/json, text/javascript, */*"
        xmlHTTP.SetRequestHeader "Referer", "http://kad.arbitr.ru/"
        xmlHTTP.SetRequestHeader "Accept-Language", "ru-RU"
        xmlHTTP.SetRequestHeader "Accept-Encoding", "gzip, deflate"
        xmlHTTP.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
        xmlHTTP.SetRequestHeader "Host", "kad.arbitr.ru"
        xmlHTTP.SetRequestHeader "Content-Length", CStr(Len(PostData))
        xmlHTTP.SetRequestHeader "DNT", "1"
        xmlHTTP.SetRequestHeader "Connection", "Keep-Alive"
        xmlHTTP.SetRequestHeader "Cache-Control", "no-cache"
        'xmlHTTP.SetRequestHeader "Cookie", "__utma=228081543.1800042383.1442602458.1442602458.1442602458.1; __utmb=228081543.4.10.1442602458; __utmz=228081543.1442602458.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; ASP.NET_SessionId=gz1344wldlloqfr3d4zuwbs5; __utmc=228081543; CUID=a1970e42-3f0e-47c2-9c1b-a150d23780ed:yf7Hlu1C1aNFLLi8vtROqg=="
       
        xmlHTTP.Send CStr(PostData)
       
        'Do While xmlHTTP.readystate <> 4: DoEvents: Loop
        Do While xmlHTTP.readystate <> 4: WScript.Sleep 200: Loop

        rez = xmlHTTP.responseText
       
        'xpl.GetXParamValue("otvet").SetStr rez
        MsgBox Len(rez) & " - " & rez
        'Debug.Print rez
        'Unload me
    End Sub
    Ответ:
    И да, твой запрос кривовато построен. Подсмотри через fiddler2 или ишака. F12 -> play (запуск трассировки сети) -> Двойной клик по запросу -> Текст запроса.

    Query.jpg

    Отдам код за два поцелуйчика - на этом и другом форумах :Biggrin:

    Кстати, помощь с парсингом ответа нужна?
     
    лис.хвост нравится это.
  9. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983
    Dragokas, я тебя обожаю, но цены ты заламываешь просто неприличные)
     
    orderman и Phoenix нравится это.
  10. Phoenix
    Оффлайн

    Phoenix Активный пользователь

    Сообщения:
    1.839
    Симпатии:
    1.829
    :Blum3: Опять нарывается..
     
  11. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983
    Что именно криво?
     
  12. Dragokas
    Онлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.473
    Симпатии:
    4.303
    Подставь в мой скрипт, узнаешь.
     
  13. лис.хвост
    Оффлайн

    лис.хвост VIP Разработчик

    Сообщения:
    630
    Симпатии:
    983
    загадочный какой, разобралась "{""Page"":1,""Count"":25,""Courts"":[],""DateFrom"":null,""DateTo"":null,""Sides"":[{""Name"":""165401751"",""Type"":-1,""ExactMatch"":false}],""Judges"":[],""CaseNumbers"":[],""WithVKSInstances"":false}"
    чувствительный к регистру
     

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