diff --git a/lib/http.c b/lib/http.c index 551fac339..1e6bd24b2 100644 --- a/lib/http.c +++ b/lib/http.c @@ -336,7 +336,13 @@ CURLcode http(struct connectdata *conn) } if(!checkheaders(data, "Host:")) { - data->ptr_host = maprintf("Host: %s:%d\r\n", host, data->remote_port); + if(((conn->protocol&PROT_HTTPS) && (data->remote_port == PORT_HTTPS)) || + (!(conn->protocol&PROT_HTTPS) && (data->remote_port == PORT_HTTP)) ) + /* If (HTTPS on port 443) OR (non-HTTPS on port 80) then don't include + the port number in the host string */ + data->ptr_host = maprintf("Host: %s\r\n", host); + else + data->ptr_host = maprintf("Host: %s:%d\r\n", host, data->remote_port); } if(!checkheaders(data, "Pragma:")) diff --git a/lib/url.c b/lib/url.c index c6f2606f7..753222124 100644 --- a/lib/url.c +++ b/lib/url.c @@ -961,7 +961,7 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect) conn->curl_close = http_close; #else /* USE_SSLEAY */ - failf(data, "SSL is disabled, https: not supported!"); + failf(data, "libcurl was built with SSL disabled, https: not supported!"); return CURLE_UNSUPPORTED_PROTOCOL; #endif /* !USE_SSLEAY */ } @@ -1137,7 +1137,8 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect) *tmp++ = '\0'; data->port = atoi(tmp); } - + data->remote_port = data->port; /* it is the same port */ + /* Connect to target host right on */ conn->hp = GetHost(data, conn->name, &conn->hostent_buf); if(!conn->hp) {