Repository: godot
Issue: HTTPRequest.set_https_proxy and HTTPClient.set_https_proxy not working (with oxylabs residential proxy, others?)
Labels: enhancement,discussion,documentation,topic:network

### Tested versions

Reproducible in 4.3.stable, Mac OS 14.5 and Linux Mint, tested with oxylabs.io residential proxies using both url-authentication (eg `myusername:mypassword.proxyhost.com` and IP whitelist. You will need your own proxy to test with.


### System information

v4.3 stable, tested on current MacOS, and on Linux Mint

### Issue description


There appears to be two separate problems with the [set_https_proxy](https://docs.godotengine.org/en/stable/classes/class_httprequest.html#class-httprequest-method-set-https-proxy) methods:
1. If you specify a host that contains a username, as is a common practice with proxies, such as `myusername:mypassword.proxyhost.com` the request fails with ERR_UNCONFIGURED.
2. If you specify a host that doesn't require authentication (eg, as I've done by whitelisting my IP) then the request failed with ERR_UNAVAILABLE.

Occurs with both HTTPRequest and HTTPClient.

### Steps to reproduce

Attempt to use a proxy for a HTTPs connection.

Reproduction code (you will need your own proxy):
```gdscript
extends Node2D

@export var proxy_host = 'us-pr.oxylabs.io'
@export var proxy_port = 10000
@export var test_url = 'https://ip.oxylabs.io/location'

func _ready() -> void:
	
	await test_http_request() # prints "HTTPRequest Unavailable 0"
	
	test_http_client() # prints "HTTPClient 4" (STATUS_CANT_CONNECT)
	
	
func test_http_request():
	var req = HTTPRequest.new()
	add_child(req)
	req.set_https_proxy(proxy_host, proxy_port)
	req.request(test_url)
	var result = await req.request_completed
	print('HTTPRequest ', error_string(result[0]), ' ', result[1])

func test_http_client():
	var client = HTTPClient.new()
	client.set_https_proxy(proxy_host, proxy_port)
	var err = client.connect_to_host(test_url)
	if err == OK:
		while client.get_status() == HTTPClient.STATUS_CONNECTING or client.get_status() == HTTPClient.STATUS_RESOLVING:
			client.poll()
			await get_tree().process_frame
		if client.get_status() != HTTPClient.STATUS_CONNECTED:
			print('HTTPClient ', client.get_status())
```

To confirm that the issue isn't with the proxy, here's an equivalent terminal curl you can make replacing the info with your proxy urls:
```
curl -x us-pr.oxylabs.io:10000 https://ip.oxylabs.io/location
```
And that returns the expected results:
```
{"ip":"2601:c4:4500:5750:f56a:90af:e9c9:4506","providers":{"dbip":{"country":"US","asn":"AS7922","org_name":"Comcast Cable Communications, LLC","city":"Atlanta","zip_code":"","time_zone":"","meta":"\u003ca href='https://db-ip.com'\u003eIP Geolocation by DB-IP\u003c/a\u003e"},"ip2location":{"country":"US","asn":"","org_name":"","city":"Augusta","zip_code":"30903","time_zone":"-05:00","meta":"This site or product includes IP2Location LITE data available from \u003ca href=\"https://lite.ip2location.com\"\u003ehttps://lite.ip2location.com\u003c/a\u003e."},"ipinfo":{"country":"US","asn":"AS7922","org_name":"Comcast Cable Communications, LLC","city":"","zip_code":"","time_zone":"","meta":"\u003cp\u003eIP address data powered by \u003ca href=\"https://ipinfo.io\" \u003eIPinfo\u003c/a\u003e\u003c/p\u003e"},"maxmind":{"country":"US","asn":"AS7922","org_name":"COMCAST-7922","city":"Fairburn","zip_code":"","time_zone":"-05:00","meta":"This product includes GeoLite2 Data created by MaxMind, available from https://www.maxmind.com."}}}
```

### Minimal reproduction project (MRP)

[proxy_bug.zip](https://github.com/user-attachments/files/17952271/proxy_bug.zip)