Привет, хочу для RaZberry написать JS приложение для передачи показаний в мосэнергосбыт. Но для начала решил оттестить на bash с помощью curl. Вот что у меня получилось, но почему то не логинится.
### 1. Обращаемся к странице логина ###
curl -i --compressed -c cookie.txt \
-H "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
-H "Accept-Encoding:gzip, deflate, br" \
-H "Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4" \
-H "Cache-Control:no-cache" \
-H "Connection:keep-alive" \
-H "Host:lkkbyt.mosenergosbyt.ru" \
-H "Pragma:no-cache" \
-H "Referer:https://lkkbyt.mosenergosbyt.ru/common/login.xhtml" \
-H "Upgrade-Insecure-Requests:1" \
-H "User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" \
https://lkkbyt.mosenergosbyt.ru/common/login.xhtml
### 2. Извлекаем из формы "lb_login:f_login:rnd" значение "value" ###
<input type="hidden" id="lb_login:f_login:rnd" name="lb_login:f_login:rnd" value="2540c479219821a662281313d6a07e21" />
### 3. Извлекаем из формы "javax.faces.ViewState" значение "value" ###
<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="vlsXyMd+UXkIhFpmRbj+U7MAb6mvsy939sJyUlkfbD3So0ki" />
### 4. Логинимся. Передаем данные для логина ###
curl -i --compressed --cookie cookie.txt \
-H "Accept:application/xml, text/xml, */*; q=0.01" \
-H "Accept-Encoding:gzip, deflate, br" \
-H "Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4" \
-H "Connection:keep-alive" \
-H "Content-Type:application/x-www-form-urlencoded; charset=UTF-8" \
-H "Faces-Request:partial/ajax" \
-H "Host:lkkbyt.mosenergosbyt.ru" \
-H "Origin:https://lkkbyt.mosenergosbyt.ru" \
-H "Referer:https://lkkbyt.mosenergosbyt.ru/common/login.xhtml" \
-H "User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" \
-H "X-Requested-With:XMLHttpRequest" \
-X POST \
--data "javax.faces.partial.ajax:true" \
--data "javax.faces.source:lb_login:f_login:l_submit" \
--data "javax.faces.partial.execute:lb_login:f_login" \
--data "javax.faces.behavior.event:action" \
--data "javax.faces.partial.event:click" \
--data "lb_login:f_login:rnd:311db1b25ac3250da3620408a2bf8327" \
--data "lb_login:f_login:t_login:11111-111-11" \
--data "lb_login:f_login:t_pwd:11111111" \
--data "lb_login:f_login_SUBMIT:1" \
--data "javax.faces.ViewState:vlsXyMd+UXkIhFpmRbj+U7MAb6mvsy939sJyUlkfbD3So0ki" \
https://lkkbyt.mosenergosbyt.ru/common/login.xhtml
### 5. Переходим на страницу личного кабинета ###
curl -i --compressed --cookie cookie.txt \
-H "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
-H "Accept-Encoding:gzip, deflate, br" \
-H "Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4" \
-H "Connection:keep-alive" \
-H "Host:lkkbyt.mosenergosbyt.ru" \
-H "Referer:https://lkkbyt.mosenergosbyt.ru/common/login.xhtml" \
-H "Upgrade-Insecure-Requests:1" \
-H "User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" \
https://lkkbyt.mosenergosbyt.ru/abonent/index.xhtml
> https://lkkbyt.mosenergosbyt.ru/common/login.xhtml
HTTP/1.1 200 OK
Date: Tue, 19 Sep 2017 09:53:51 GMT
Server: Apache/2.2.31 (Unix)
X-Content-Type-Options: nosniff
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Set-Cookie: oam.Flash.RENDERMAP.TOKEN=-6gp5wgfpo; path=/; secure
X-Powered-By: Servlet/2.5 JSP/2.1
Vary: Accept-Encoding
Keep-Alive: timeout=30
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
<?xml version="1.0" encoding="utf-8"?><partial-response><changes><update id="javax.faces.ViewState"><![CDATA[hyyTkyCJSLkIhFpmRbj+U/nOjjS9pACJoddRdgG1TcCwclbb]]></update></changes></partial-response>
> https://lkkbyt.mosenergosbyt.ru/abonent/index.xhtml
HTTP/1.1 302 Moved Temporarily
Date: Tue, 19 Sep 2017 09:55:53 GMT
Server: Apache/2.2.31 (Unix)
X-Content-Type-Options: nosniff
Location: /common/login.xhtml
X-Powered-By: Servlet/2.5 JSP/2.1
Keep-Alive: timeout=30
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/xhtml+xml
<html><head><title>302 Moved Temporarily</title></head>
<body bgcolor="#FFFFFF">
<p>This document you requested has moved temporarily.</p>
<p>It's now at <a href="/common/login.xhtml">/common/login.xhtml</a>.</p>
</body></html>