nixp.ru v3.0

24 мая 2017,
среда,
05:26:37 MSK

DevOps с компанией «Флант»
rome написал 15 мая 2006 года в 17:24 (937 просмотров) Ведет себя неопределенно; открыл 1 тему в форуме.

Есть задача — сформировать через TCL http HTML заголовок для посылки команды на модем через WEB.

Вот часть кода :

proc geturl_auth {url username password} {

set auth «Basic [base64::encode $username:$password]»

set ref «http://192.168.1.1/reset/\n»

set zapros «reset/index.html»

set headerl [list Authorization $auth Referer $ref]

set tok [http::geturl $url -headers $headerl ?? -query ???]

set res [http::data $tok]

http::cleanup $tok

return $res

}

geturl_auth «http://192.168.1.1/reset/index.html» «admin» «admin»

Если делать без опции -query $variable то отсылается запрос GET. Для запроса POST нужно применять опцию -query , но она вставляет ненужное поле — и команда не проходит.

Вот такой пакет нужно сформировать :

POST /reset/index.html /HTTP/1.1\r\n

Request method: POST

Request URI: /reset/index.html

Request Version: HTTP/1.1

Host: 192.168.1.1\r\n

User-agent: Mozilla….

Referer: http://192.168.1.1/reset/\r\n

Authorization: Basic xxxxx

Credentials: admin:admin

Если применять -query » » то вставляется еще :

Line-based text data: application/x-www-form-url-encoded

Модем отвечает на него Bad request.