From 95c3255c27d70273f72b7d6603d5fc892319a34c Mon Sep 17 00:00:00 2001 From: StimeKe Date: Wed, 22 May 2024 20:37:35 +0800 Subject: [PATCH] Fixed not get port when obtaining the host. (#5423) Co-authored-by: SoftFever --- src/slic3r/Utils/OctoPrint.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp index edf903e55d..707bcb01c3 100644 --- a/src/slic3r/Utils/OctoPrint.cpp +++ b/src/slic3r/Utils/OctoPrint.cpp @@ -50,8 +50,15 @@ std::string get_host_from_url(const std::string& url_in) char* host; rc = curl_url_get(hurl, CURLUPART_HOST, &host, 0); if (rc == CURLUE_OK) { - out = host; - curl_free(host); + char* port; + rc = curl_url_get(hurl, CURLUPART_PORT, &port, 0); + if (rc == CURLUE_OK && port != nullptr) { + out = std::string(host) + ":" + port; + curl_free(port); + } else { + out = host; + curl_free(host); + } } else BOOST_LOG_TRIVIAL(error) << "OctoPrint get_host_from_url: failed to get host form URL " << url;