Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Отправка POST-запроса через VBA
 
Вообщем если кому интересно или возможно пригодится исследователям в будущем. Сам запрос POST  я брал из отладчика Firefox F12, там в закладке сеть можно посмотрть все запросы и ответы сервера. Есть еще возможность "измнить и отправить", отуда я взял все заголовки и тело запроса. Далее ничего не получалось и я использовал Fiddler Web Debugger для сравнения моего и лисиного запроса, оказалось что мое приложение не отправляет часть заголовков, добавилась еще ночь гугленияи перебора вариантов, в итоге, что со мной уже не в первый раз, нужно было удалить лишние побелы и двоеточие. Добавляю код для ознакомления URL обновляется раз в сутки поэтому данный конкретный приме работать не будет нужно буде подставить свои параметры запроса.
Код
Set HTTP = CreateObject("MSXML2.XMLHTTP")
sURL1 = "http://new.7b4c5a.olimp9b55.gdn/api/slice/"
HTTP.Open "POST", sURL1, False
HTTP.SetRequestHeader "Host", "new.7b4c5a.olimp9b55.gdn"
HTTP.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0"
HTTP.SetRequestHeader "Accept", "*/*"
HTTP.SetRequestHeader "Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
HTTP.SetRequestHeader "Accept-Encoding", "gzip , deflate"
HTTP.SetRequestHeader "X-Token", "def96c3189252fd655c41c9b62d47752"
HTTP.SetRequestHeader "Content-Type", "application/json"
HTTP.SetRequestHeader "Referer", " http://new.7b4c5a.olimp9b55.gdn/?utm_medium=zerkalo&utm_source=emailbot"
HTTP.SetRequestHeader "Content-Length", "63"
HTTP.SetRequestHeader "Cookie", "__ga=GA1.4.456166197.1509038006; _gid=GA1.4.1925683772.1509038006; _ym_uid=1509038006108342172; _ym_isad=2; UKEY=9c7ff6ba-ec7d-4cf5-a201-b37739b9ef4b; LNGID=0; LNG_ISO=ru; _ym_visorc_43611274=w; __lc.visitor_id.g6897171_2.group2=S1506754199.942c6daab8; __lc.visitor_id.g6897171_2.group2=S1506754199.942c6daab8; lc_window_state.group2=minimized; lc_window_state.group2=minimized\r\n"
HTTP.SetRequestHeader "Connection", "keep-alive"
MSG = "{" & Chr(34) & "live" & Chr(34) & ":" & Chr(34) & "1" & Chr(34) & "," & Chr(34) & "time_shift" & Chr(34) & ":0," & Chr(34) & "lang_id" & Chr(34) & ":" & Chr(34) & "0" & Chr(34) & "," & Chr(34) & "platforma" & Chr(34) & ":" & Chr(34) & "SITE_RU" & Chr(34) & "}"
HTTP.send MSG
otvet = HTTP.responseText
Отправка POST-запроса через VBA
 
Я сравнил запросы Fiddler Web Debugger, оказалось, что мои запросы отличаются от запросов Firefox наличием Cookies, их просто нет, сейчас бьюсь над тем как их добавить, отправляю запрос вручную и все получается.
Отправка POST-запроса через VBA
 
Нет это разные люди, спасибо сейчас погуглю, но всеже почему лиса получает ответ со всеми данными, а мне отказано, понятно что что-то не так, но в какую сторону искать.
Отправка POST-запроса через VBA
 

Здравствуйте, отправляю запрос post, копирую заголовки и тело запроса из firefox,  в ответе получаю ошибка 511 отказано в доступе. "{"error":{"err_code":511,"err_desc":"Sign access denied"},"data":null}", а лиса получает все данные

Код
Set HTTP = CreateObject("MSXML2.XMLHTTP")
'Set HTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
sURL1 = "http://new.d64f23.olimpb24d.gdn/api/slice/"
'POST /api/slice/ HTTP/1.1
HTTP.Open "POST", sURL1, False
HTTP.SetRequestHeader "Host", "new.d64f23.olimpb24d.gdn"
'Host: new.3f21c8.olimpb24d.gdn
HTTP.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0"
'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0
HTTP.SetRequestHeader "Accept", "*/*"
'Accept: */*
HTTP.SetRequestHeader "Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
HTTP.SetRequestHeader "Accept -Encoding", "gzip , deflate"
'Accept -Encoding: gzip , deflate
HTTP.SetRequestHeader "X -Token", "def96c3189252fd655c41c9b62d47752"
'X -Token: def96c3189252fd655c41c9b62d47752
HTTP.SetRequestHeader "Content-Type", "application/json"
'Content-Type: application/json
HTTP.SetRequestHeader "Referer", "http://new.3f21c8.olimpb24d.gdn/?utm_medium=zerkalo&utm_source=emailbot"
'Referer: http://new.3f21c8.olimpb24d.gdn/?utm_medium=zerkalo&utm_source=emailbot
HTTP.SetRequestHeader "Content-Length", "63"
'Content-Length: 63
HTTP.SetRequestHeader "Cookie", "_ym_uid=1508951902624815638; _ga=GA1.4.1576018127.1508951902; _gid=GA1.4.619746481.1508951902; UKEY=240bc1a8-0953-4723-aadd-a87655e26b64; LNGID=0; LNG_ISO=ru; _ym_isad=2; __lc.visitor_id.g6897171_2.group2=S1506754199.942c6daab8; __lc.visitor_id.g6897171_2.group2=S1506754199.942c6daab8; _ym_visorc_43611274=w; lc_window_state.group2=minimized; lc_window_state.group2=minimized"
'Cookie: _ym_uid=1508951902624815638; _ga=GA1.4.1576018127.1508951902; _gid=GA1.4.619746481.1508951902; UKEY=240bc1a8-0953-4723-aadd-a87655e26b64; LNGID=0; LNG_ISO=ru; _ym_isad=2; __lc.visitor_id.g6897171_2.group2=S1506754199.942c6daab8; __lc.visitor_id.g6897171_2.group2=S1506754199.942c6daab8; _ym_visorc_43611274=w; lc_window_state.group2=minimized; lc_window_state.group2=minimized
HTTP.SetRequestHeader "Connection:", "keep -alive"
'Connection: keep -alive
MSG = "{" & Chr(34) & "live" & Chr(34) & ":" & Chr(34) & "1" & Chr(34) & "," & Chr(34) & "time_shift" & Chr(34) & ":0," & Chr(34) & "lang_id" & Chr(34) & ":" & Chr(34) & "0" & Chr(34) & "," & Chr(34) & "platforma" & Chr(34) & ":" & Chr(34) & "SITE_RU" & Chr(34) & "}"
HTTP.send MSG
otvet = HTTP.responseTex
 

Изменено: Farafonov - 26.10.2017 08:22:48
Страницы: 1
Loading...