From 5cabe5f0fcdf10eb025f24adfbf7f6864465f8f0 Mon Sep 17 00:00:00 2001 From: Martin Capitanio Date: Tue, 13 Jun 2017 22:58:23 +0200 Subject: [PATCH] Don't append standard ports to the request header. Breaks the SSL communication with some servers, do the same that the other curl, wget, firefox & co clients do. Fixes #9146 --- core/io/http_client.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp index 899f3b3b2d2..0c84a5213f0 100644 --- a/core/io/http_client.cpp +++ b/core/io/http_client.cpp @@ -96,7 +96,12 @@ Error HTTPClient::request_raw(Method p_method, const String &p_url, const Vector }; String request = String(_methods[p_method]) + " " + p_url + " HTTP/1.1\r\n"; - request += "Host: " + conn_host + ":" + itos(conn_port) + "\r\n"; + if ((ssl && conn_port == 443) || (!ssl && conn_port == 80)) { + // don't append the standard ports + request += "Host: " + conn_host + "\r\n"; + } else { + request += "Host: " + conn_host + ":" + itos(conn_port) + "\r\n"; + } bool add_clen = p_body.size() > 0; for (int i = 0; i < p_headers.size(); i++) { request += p_headers[i] + "\r\n"; @@ -151,7 +156,12 @@ Error HTTPClient::request(Method p_method, const String &p_url, const Vector 0; for (int i = 0; i < p_headers.size(); i++) { request += p_headers[i] + "\r\n";