remake Host: for each connection and it'll work with proxies too
This commit is contained in:
Родитель
67d5c0a970
Коммит
ac0bad2433
12
lib/http.c
12
lib/http.c
|
@ -469,10 +469,14 @@ CURLcode Curl_http(struct connectdata *conn)
|
|||
http->sendit = Curl_getFormData(data->httppost, &http->postsize);
|
||||
}
|
||||
|
||||
if(!checkheaders(data, "Host:") &&
|
||||
!conn->allocptr.host) {
|
||||
/* if ptr_host is already set, it is OK since we only re-use connections
|
||||
to the very same host and port */
|
||||
if(!checkheaders(data, "Host:")) {
|
||||
/* if ptr_host is already set, it is almost OK since we only re-use
|
||||
connections to the very same host and port, but when we use a HTTP
|
||||
proxy we have a persistant connect and yet we must change the Host:
|
||||
header! */
|
||||
|
||||
if(conn->allocptr.host)
|
||||
free(conn->allocptr.host);
|
||||
|
||||
if(((conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTPS)) ||
|
||||
(!(conn->protocol&PROT_HTTPS) && (conn->remote_port == PORT_HTTP)) )
|
||||
|
|
Загрузка…
Ссылка в новой задаче