Возвращаемое значение
Код ответа HTTP-сервера
либо -1 в случае ошибки.
Проверьте что возвращает сервер.
не -1, не значит Залогинились.
Возвращаемое значение
Код ответа HTTP-сервера либо -1 в случае ошибки.
Проверьте что возвращает сервер.
не -1, не значит Залогинились.
после первого запроса возвращает 200
после второго тоже 200, а в result возвращает: {"error":true,"message":"Invalid session.","symbols":[],"general":{}}
Возвращаемое значение
Код ответа HTTP-сервера
либо -1 в случае ошибки.
Проверьте что возвращает сервер.
не -1, не значит Залогинились.
вот что в headers возвращает после отправки запроса на логин:
HTTP/1.1 200 OK Date: Tue, 26 Sep 2017 22:40:00 GMT Server: Apache-Coyote/1.1 Content-Length: 43 Set-Cookie: JSESSIONID=1AD7595FA376DDC9CE808A672782E51A; Path=/; HttpOnly Cache-Control: max-age=2592000 Expires: Thu, 26 Oct 2017 22:40:01 GMT Vary: Accept-Encoding Keep-Alive: timeout=10, max=100 Connection: Keep-Alive Content-Type: application/json
вот что в headers возвращает после отправки запроса на логин:
во вторую запрос попробуйте передать идентификатор который получаете в первом
Имеете ввиду куки?
Я пробовал вот так
res = WebRequest("GET", urloutlook+auth, auth, NULL, timeout, post, 0, result, headers);
эффект такой же
А так?
cookie = "Cookie: JSESSIONID=" + auth; res = WebRequest("GET", urloutlook+auth, cookie, NULL, timeout, post, 0, result, headers);
А так?
к сожалению в result тот же результат:
{"error":true,"message":"Invalid session.","symbols":[],"general":{}}
при этом в res 200 OK
в headers
2017.09.27 22:00:00.933 isentiment EURUSD,H1: HTTP/1.1 200 OK
Date: Thu, 28 Sep 2017 02:00:00 GMT
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Content-Length: 71
Vary: Accept-Encoding
Set-Cookie: JSESSIONID=71A53CAA9C38DB0C050996402C8D58C4; Path=/; HttpOnly
Set-Cookie: locale=en; Domain=.myfxbook.com; Expires=Wed, 27-Dec-2017 02:00:00 GMT; Path=/
Cache-Control: max-age=2592000
Expires: Sat, 28 Oct 2017 02:00:00 GMT
Keep-Alive: timeout=10, max=100
Connection: Keep-Alive
не понимаю что не так (((
string Email = ""; string Password = ""; string headers, urllogin=""; char data[], result[]; int res, timeout = 5000; string urloutlook = ""; void OnStart() { string access="?email="+Email+"&password="+Password; res = WebRequest("GET", urllogin + access, NULL, NULL, timeout, data, 0, result, headers); string login = CharArrayToString(result); res = StringFind(login, "<session>"); login = StringSubstr(login, res + 9); login = StringSubstr(login, 0, StringFind(login, "</session>")); res = WebRequest("GET", urloutlook + "?session=" + login, NULL, NULL, timeout, data, 0, result, headers); string response = CharArrayToString(result); Print("response = \"" + response + "\""); }вот рабочий код
вот рабочий код
Спасибо огромное, ошибки теперь нет, но почему-то response пустой возвращается.
P.S. Кстати странно, что мой код не работает, ведь я тоже вырезал SESSION и вручную проверял вырезал правильно.
в моем случае
urloutlook = "___.myfxbook.com/api/get-community-outlook.json?session=";
ваш вариант
"___.myfxbook.com/api/get-community-outlook.json";
Вы вырезали сессию из куков, она отличается от сессии, передаваемой в ответе.
А то что ответ нулевой странно, у меня ответ был вроде аж 60кб, правда я пробовал на xml, а не json
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Коллеги, помогите решить проблему.
Похож не верно формирую запрос в WebRequest.
Задача используя APi получать данные для дальнейшей обработки.
Логиниться получается, а вот при попытке забрать ответ с данными получаю Invalid session