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

лис.хвост

VIP
Разработчик
Сообщения
636
Реакции
1,022
Баллы
188
Добрый день.
Отправляю запрос на адрес "http://kad.arbitr.ru/Kad/SearchInstances" - Картотека арбитражных дел. Цель - получить данные о банкротном деле (поиск осуществляется по ИНН). В firebug все выглядит приблизительно так:

ответ:
{"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}
Код:
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
В результате работы этого кода я получаю список всех дел. Может кто подскажит в чем дело
 

Phoenix

Активный пользователь
Сообщения
2,105
Реакции
2,047
Баллы
433
Приносим извинения,
ведутся профилактические работы.
Сервис временно недоступен.
 

Phoenix

Активный пользователь
Сообщения
2,105
Реакции
2,047
Баллы
433
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,132
Реакции
5,907
Баллы
648
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
Ответ:
{"Result":{"PagesCount":1,"Page":1,"PageSize":25,"TotalCount":1,"Items":[{"CaseId":"a0a3bc11-443b-4eb0-8b05-c9ae30f9b907","CaseNumber":"А83-4276/2015","CaseType":"А","CourtName":"АС Республики Крым","Date":"2015-09-18T00:00:00","Plaintiffs":{"Count":1,"Participants":[{"Name":"Служба финансового надзора Республики Крым","Inn":null,"Address":"295006, бул. Ленина, 5/7, г. Симферополь, Республика Крым, Российская Федерация","OrganizationForm":null,"SubjectCategories":[]}]},"Respondents":{"Count":1,"Participants":[{"Name":"ООО \"ПАРК-ОТЕЛЬ \"МАРАТ\"","Inn":"9103016288","Address":"298662, КРЫМ Респ, ЯЛТА г, ГАСПРА пгт, АЛУПКИНСКОЕ ШОССЕ ул, д.60","OrganizationForm":"5f468142-1394-4b88-88ac-8d79c4ba9600","SubjectCategories":[]}]},"IsSimpleJustice":false,"Judge":"Евдокимова Е. А."}]},"Message":"","Success":true,"ServerDate":"2015-09-18T22:20:49","Timings":null}
И да, твой запрос кривовато построен. Подсмотри через fiddler2 или ишака. F12 -> play (запуск трассировки сети) -> Двойной клик по запросу -> Текст запроса.

Query.jpg

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

Кстати, помощь с парсингом ответа нужна?
 

Phoenix

Активный пользователь
Сообщения
2,105
Реакции
2,047
Баллы
433
:Blum3: Опять нарывается..
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,132
Реакции
5,907
Баллы
648
Подставь в мой скрипт, узнаешь.
 

лис.хвост

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