Способ построения параметров GET - конкатенация строк, но может помочь команда http::formatQuery
.
package require http
package require tls
http::register https 443 [list ::tls::socket -tls1 1]
dict set params query_param 5
# Quoted just for better highlighting here on Stack Overflow
set urlBase "https://example.com/"
set req [::http::geturl $urlBase?[http::formatQuery {*}$params]]
set rec [::http::data $req]
Если вы хотите использовать вместо него POST, используйте параметр -query
:
package require http
package require tls
http::register https 443 [list ::tls::socket -tls1 1]
dict set params query_param 5
set urlBase "https://example.com/"
set req [::http::geturl $urlBase -query [http::formatQuery {*}$params]]
set rec [::http::data $req]
Если вы не получаете ожидаемых результатов, что-то еще идет не так.Существует огромное количество способов, с помощью которых HTTP (S) запросы могут завершаться сбоем, поэтому нет никакого способа дать общий полезный ответ там.