Ioann_II 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Здравствуйте, уважаемые коллеги. Столкнулся вот с какой проблемой. Передавал данные на сайт AT командами HTML - запросов. Ранее всё получалось. Но вот пришлось переехать на другой сайт. Теперь сайт в ответ выдаёт ошибку: AT+HTTPREAD +HTTPREAD:831 <html><body><script type="text/javascript" src="/aes.js" ></script><script>funct ion toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))}) ;return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].cons tructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"" )+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c 63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("2187 d224177377852ab2122167fc1b98");document.cookie="__test="+toHex(slowAES.decrypt(c ,2,a,B))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http:// ioann.96host.ru/1.htm?i=1";</script><noscript>This site requires Javascript to w ork, please enable Javascript in your browser or use a browser with Javascript s upport</noscript></body></html> OK Когда делаю то-же самое, но из браузера - ошибки нет. Подскажите: как победить. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 3 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Зачастую в запросе не хватает заголовков http. Иногда обязателен User-Agent например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Зачастую в запросе не хватает заголовков http. Иногда обязателен User-Agent например. Можно пример? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 3 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Например формат GET запроса: GET <file>?<params>\r\n User-Agent: Mozilla\r\n Чтобы сервер не рвал соединение, для выполнения множественных запросов использую еще Connection: Keep-Alive Как это сделать посредством AT+HTTPREAD не в курсе, поскольку делаю запросы http ручками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Сейчас попробовал по-быстренькому сформировать "ручками" запрос. Запрос вышел такой (С++): Send = "GET /data_s.php?login=0&password=0&driver=0FB09D501109&car=00001&container=3409DCB431&latitude=5375919&longtitude=8713598 HTTP/1.1\r\n"; Send+= "Host: ioann.96host.ru\r\n"; Send+= "Accept: text/html, application/xhtml+xml, */*\r\n"; Send+= "Accept-Language: ru-RU\r\n"; Send+= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko\r\n"; Send+= "Connection: close\r\n"; Send+= "\r\n"; Response.Format("AT+CIPSEND=%d\r\n",Send.GetLength()) т.е. со всем заголовком.... ответ: HTTP/1.1 200 OK Server: nginx Date: Fri, 04 Nov 2016 07:05:01 GMT Content-Type: text/html Content-Length: 942 Connection: close Vary: Accept-Encoding Expires: Thu, 01 Jan 1970 00:00:01 GMT Cache-Control: no-cache <html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("c2ad64977b51386e0da81884f446376b");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,B))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://ioann.96host.ru/data_s.php?login=0&password=0&driver=0FB09D501109&car=00001&container=3409DCB431&latitude=5375919&longtitude=8713598&i=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html> CLOSED Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 48 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Это разве ошибка? Это сообщение, что сайт желает запустить на клиенте жаба-скрипт(скрипт в тексте и судя по тексту это как-то связано с AES-криптографией) и у него это не получилось. Если-бы получилось, это сообщение просто-бы не успели заметить, что и происходит в браузере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Что делать? тут в теле упоминается похоже на кук: document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,cool.gif)+"; expires=Thu, 31-Dec-37 23:55:55 GMT; его надо как-то сделать? как? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 48 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Что делать? тут в теле упоминается похоже на кук: document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,cool.gif)+"; expires=Thu, 31-Dec-37 23:55:55 GMT; его надо как-то сделать? как? Сделать интерпретатор Javascript ? Собственно примерно код причесал до удобоваримого: <script type="text/javascript" src="/aes.js" > </script> <script> function toNumbers(d) { var e=[]; d.replace(/(..)/g,function(d){e.push(parseInt(d,16))}); return e } function toHex() { for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++) e+=(16>d[f]?"0":"")+d[f].toString(16); return e.toLowerCase() } var a=toNumbers("f655ba9d09a112d4968c63579db590b4"), b=toNumbers("98344c2eee86c3994890592585b49f80"), c=toNumbers("2187d224177377852ab2122167fc1b98"); document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,B))+";expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://ioann.96host.ru/1.htm?i=1"; </script> <noscript>This site requires Javascript to w ork, please enable Javascript in your browser or use a browser with Javascript s upport</noscript> Шутка, конечно. Но проблема в том, что без JS любое изменение серверной части закончится плачевно для устройства. Отсюда в общем случае проще не связываться с подобными сайтами. ЗЫ. Кука это как раз наименьшая проблема из имеющихся, потому как это просто сохраняемая/отдаваемая по запросу сервера информация хранимая у клиента. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 (изменено) · Жалоба Приблизительно представляю себе это так: - сервер, в ответ на мой запрос, отсылает эту страницу, - надо что-то отправить в ответ, и тогда сервер, наверное, даст запрашиваемую страницу. В яве не силён, увы..., да и в МК, наверное интерпретатор впихнуть не выйдет - даже расчёт AES занимает много места... Но обратил внимание, что сайт каждый раз выдаёт один и тот-же скрипт. Может быть, конечно, завтра он станет несколько другой, например с другими числами... Потому, хотелось бы: 1. понять что ожидает получить сервер - т.е. как оно выглядит на уровне байтов. 2. понять как это всё вычислить. 3. как правильно отправить эти данные - каким запросом. Ну как-то так. С сайтом пришлось связаться, т.к. для отладки ПО нужен php и mysql, а таких сайтов бесплатных оказалось мало и зарегистрироваться удаётся не на всех. Изменено 4 ноября, 2016 пользователем Ioann_II Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ioann_II 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 (изменено) · Жалоба Неужели никто не подскажет? Изменено 4 ноября, 2016 пользователем Ioann_II Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 48 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Неужели никто не подскажет? А ты че думаешь, тут сидят web-писатели? Приблизительно представляю себе это так: - сервер, в ответ на мой запрос, отсылает эту страницу, - надо что-то отправить в ответ, и тогда сервер, наверное, даст запрашиваемую страницу. В яве не силён, увы... Ну дык Гугл в помощь и вперед изучать ЯвуСкрипт(обращаю внимание это не ява, а именно JS) хоть поверхностно. Как писал выше тут не web-дизайнеры собрались. Примерно правильно представляешь. И раз заметил использование куки начни с этого: https://ru.wikipedia.org/wiki/HTTP_cookie Там есть подробная схема общения браузер-сервер. Ну и судя по моим скудным познаниям в JS полученным еще 17 лет назад когда я еще и что такое Инет не представлял, эта страница делает запись в куке через указанные ключи и AES, потом вызывает http://ioann.96host.ru/1.htm?i=1 которой идет обращение уже с кукой которую только что записали. А там или нормальный ответ или еще один JS с почти аналогичным кодом и уже вызовом странички http://ioann.96host.ru/1.htm?i=2 . Странички все динамически создаваемые на сервере поэтому будет ли запрос http://ioann.96host.ru/1.htm?i=2 при правильной записи в куке - не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться