Есть задача — сформировать через 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.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1