Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Занеси ветку в избранное. Отслеживай изменения еще быстрее!
Sergey Sartakov
1286
Sergey Sartakov 2014.06.28 17:50 
int  WebRequest(
   const string      method,           // метод HTTP
   const string      url,              // url-адрес
   const string      cookie,           // cookie
   const string      referer,          // referer
   int               timeout,          // таймаут
   const char        &data[],          // массив тела HTTP-сообщения
   int               data_size,        // размер массива data[] в байтах
   char              &result[],        // массив с данными ответа сервера
   string            &result_headers   // заголовок ответа сервера
   );

1. Посылаю Get запрос для логина

2  Получаю HTML c формой  и заголовки.

3. Парсю HTML, формирую тело POST запроса с параметрами, необходимыми для логина

4. Парсю заголовки, нахожу Set-Cookie: PHPSESSID=au5dtha1au143r754ckotvifu2;

беру  эту куку вот так  PHPSESSID=au5dtha1au143r754ckotvifu2;

и присваиваю параметру WebRequest - cookie ="PHPSESSID=au5dtha1au143r754ckotvifu2; "

5. Посылаю пост-запрос, а в ответ получаю -  you have disabled cookies

 Кто-то может что-нибудь сказать ?

 Может поле cookie  является просто обычным полем заголовков, отсылаемых серверу в запросе,

т.е.  result_headers  - получаемые от сервера заголовки, а  cookie - отсылаемые серверу  заголовки....

Vitalie Postolache
11038
Vitalie Postolache 2014.06.28 20:00  
Sergey Sartakov
1286
Sergey Sartakov 2014.06.28 21:10  


само собой, я ведь забираю куки из заголовков, присылаемых  этой функцией WebRequest в поле  result_headers,

а затем посылаю их серверу в поле  cookie.

более того пробовал устанавливать куки с помощью Win API   bool b_Return = InternetSetCookieW("https://aaaaaaaa.com", NULL,s_Cookie);

 b_Return возвращался true, но сервер настаивает -  you have disabled cookies

Andrey
3
Andrey 2014.11.08 19:53  

Подскажите пожалуйтста, как в WebRequest указать порт, например http://127.0.0.1:1234

Добавляю его в разрешенные в настройках, вызываю из mql и получаю ошибку 5200 - url не прошел проверку 

Rashid Umarov
Админ
6600
Rashid Umarov 2014.11.10 09:27  

Порт самому указать нельзя. Действует правило:

- если адрес начинается с https://, то порт 443. В противном случае порт 80.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий