Что нового

Два запроса

pumbanirvana

Новичок
Сообщения
6
Репутация
0
Как организовать два запроса?
Первый запрос:
Код:
POST https://service.egais.ru/login/authenticate HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: https://service.egais.ru/login
Accept-Language: ru-RU
User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: service.egais.ru
Content-Length: 3116
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: _ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45

val=VVNFUkFVVEgBADAAAAC6EkPNM9tmAtvaCc0TKWqqUWaFkS4X6Bmp%2BXHyecS9D9kp598CfbmlA7R

При этом
val=VVNFUkFVVEgBADAAAAC6EkPNM9tmAtvaCc0TKWqqUWaFkS4X6Bmp%2BXHyecS9D9kp598CfbmlA7R
должна быть в хедерах запроса.

Второй запрос:
Код:
POST https://service.egais.ru/contragent/journal HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: https://service.egais.ru/
Accept-Language: ru-RU
User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: service.egais.ru
Content-Length: 49
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: _ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45

owner_id=020000601487&kpp=390145002&dt=30.08.2016
 
Автор
P

pumbanirvana

Новичок
Сообщения
6
Репутация
0
Сделал небольшой набросок, вроде бы работает.

Код:
$sPD = 'val=VVNFUkFVVEgBADAAAAC6EkPNM9tmAtvaCc0TKWqqUWaFkS4X6bmlA7R6d5JXBIVAAAAADbjoRsdrCA'
$locID ='owner_id=020000601487&kpp=390145002&dt=30.08.2016'
$oHTTP = ObjCreate('winhttp.winhttprequest.5.1')
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.Open('POST', 'https://service.egais.ru/login/authenticate', 0)
$oHTTP.SetRequestHeader('Accept', 'text/html, application/xhtml+xml, */*')
$oHTTP.SetRequestHeader('Referer', 'https://service.egais.ru/login')
$oHTTP.SetRequestHeader('Accept-Language', 'ru-RU')
$oHTTP.SetRequestHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko')
$oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
$oHTTP.SetRequestHeader('Accept-Encoding', 'gzip, deflate')
$oHTTP.SetRequestHeader('Host', 'service.egais.ru')
$oHTTP.SetRequestHeader('Content-Length', '3116')
$oHTTP.SetRequestHeader('Connection', 'Keep-Alive')
$oHTTP.SetRequestHeader('Cache-Control', 'no-cache')
$oHTTP.SetRequestHeader('Cookie', '_ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45')
$oHTTP.Send($sPD)
$oReceived = $oHTTP.ResponseText
$oStatusCode = $oHTTP.Status
MsgBox(1, "Текущий код", $oHTTP.Status,5)
MsgBox(1, "Текст", $oReceived,5)

$oHTTP_ = ObjCreate('winhttp.winhttprequest.5.1')
$oHTTP_.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP_.Open('POST', 'https://service.egais.ru/contragent/journal', 0)
$oHTTP_.SetRequestHeader('Accept', 'text/html, application/xhtml+xml, */*')
$oHTTP_.SetRequestHeader('Referer', 'https://service.egais.ru/login')
$oHTTP_.SetRequestHeader('Accept-Language', 'ru-RU')
$oHTTP_.SetRequestHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko')
$oHTTP_.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
$oHTTP_.SetRequestHeader('Accept-Encoding', 'gzip, deflate')
$oHTTP_.SetRequestHeader('Host', 'service.egais.ru')
$oHTTP_.SetRequestHeader('Content-Length', '49')
$oHTTP_.SetRequestHeader('Connection', 'Keep-Alive')
$oHTTP_.SetRequestHeader('Cache-Control', 'no-cache')
$oHTTP_.SetRequestHeader('Cookie', '_ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45')
$oHTTP_.Send($locID)
$locPer = $oHTTP_.ResponseText
MsgBox(1, "Текст2", $locPer,5)
 $file = FileOpen("SaveDoc_111111.html", 1)
 FileWrite($file, $locPer)
 FileClose($file)


Но есть одно но. Меня смущает одна вот этот кусок кода
Код:
$oHTTP_.SetRequestHeader('Cookie', '_ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45')

По идее куки должны меняться. Их как то вытягивать нуно? На данный момент они у меня как константа.

И еще вопрос. Требуется зациклить запрос. т.е. получить данные за каждый день
Код:
$locID ='owner_id=020000601487&kpp=390145002&dt=30.08.2016'

dt=30.08.2016 меняется.
=01.09.2016
=02.09.2016
и т.д.

Подскажите, если есть мысли.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
pumbanirvana [?]
По идее куки должны меняться. Их как то вытягивать нуно?
Куки выдаются после логина.

Этот объект winhttp.winhttprequest.5.1 не хранит куки, поэтому вся работа с ними на вас.
Этот объект ну вообще не удобен. Смотрите в моей подписи библиотеку HTTP, качаете, смотрите примеры, с куками не надо будет мучатся

Требуется зациклить запрос. т.е. получить данные за каждый день
Применяйте цикл. А + 1 к дате может функция
Код:
_DateAdd
 
Автор
P

pumbanirvana

Новичок
Сообщения
6
Репутация
0
Спасибо за советы. Отпишусь по результату.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
_ym_uid=146557086951045907; _ym_isad=2; вот это можно не передавать
 
Автор
P

pumbanirvana

Новичок
Сообщения
6
Репутация
0
Понял. Как только наброски мало мальские будут, сброшу на обозрение.


Добавлено:
Сообщение автоматически объединено:

В итоге черновой вариант скрипта.

Код:
#include <Date.au3>
 $lData='31.08.2016'
Local $Data=StringRegExpReplace($lData,"(\d{2}).(\d{2}).(\d{4})",'$3/$2/$1')
for $i = 0 to 14
$sData=_DateAdd("D",$i,$Data)
$perData=StringRegExpReplace($sData,'(\d{4})/(\d{2})/(\d{2})','$3.$2.$1')
$locID ='owner_id=020000601487&kpp=390145002&dt='&$perData
ConsoleWrite($locID & @LF)
'val=VVNFUkFVVEgBADAAAAC6EkPmU9SJpe0upkuEyUwgl3hxZMzt2dU98gvdir%2F7Fpi02TiM%3D'
$oHTTP = ObjCreate('winhttp.winhttprequest.5.1')
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.Open('POST', 'https://service.egais.ru/login/authenticate', 0)
$oHTTP.SetRequestHeader('Accept', 'text/html, application/xhtml+xml, */*')
$oHTTP.SetRequestHeader('Referer', 'https://service.egais.ru/login')
$oHTTP.SetRequestHeader('Accept-Language', 'ru-RU')
$oHTTP.SetRequestHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko')
$oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
$oHTTP.SetRequestHeader('Accept-Encoding', 'gzip, deflate')
$oHTTP.SetRequestHeader('Host', 'service.egais.ru')
$oHTTP.SetRequestHeader('Content-Length', '3116')
$oHTTP.SetRequestHeader('Connection', 'Keep-Alive')
$oHTTP.SetRequestHeader('Cache-Control', 'no-cache')
$oHTTP.SetRequestHeader('Cookie', '_ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45')
$oHTTP.Send($sPD)
$oReceived = $oHTTP.ResponseText
$oStatusCode = $oHTTP.Status
$oHTTP_ = ObjCreate('winhttp.winhttprequest.5.1')
$oHTTP_.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP_.Open('POST', 'https://service.egais.ru/contragent/journal', 0)
$oHTTP_.SetRequestHeader('Accept', 'text/html, application/xhtml+xml, */*')
$oHTTP_.SetRequestHeader('Referer', 'https://service.egais.ru/login')
$oHTTP_.SetRequestHeader('Accept-Language', 'ru-RU')
$oHTTP_.SetRequestHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko')
$oHTTP_.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
$oHTTP_.SetRequestHeader('Accept-Encoding', 'gzip, deflate')
$oHTTP_.SetRequestHeader('Host', 'service.egais.ru')
$oHTTP_.SetRequestHeader('Content-Length', '49')
$oHTTP_.SetRequestHeader('Connection', 'Keep-Alive')
$oHTTP_.SetRequestHeader('Cache-Control', 'no-cache')
$oHTTP_.SetRequestHeader('Cookie', '_ym_uid=146557086951045907; _ym_isad=2; PHPSESSID=u140ii766vnjhca2c5ho5k6u45')
$oHTTP_.Send($locID)
$locPer = $oHTTP_.ResponseText
 $file = FileOpen("BlaBla.html", 1)
 FileWrite($file, $locPer)
 FileClose($file)
 Next
 
Верх