Vad CURLOPT_CONNECT_TO ändrar när du använder en proxy
Använd libcurls connect-to-mappning för alternativa nätverksändpunkter i stället för att anta att den implementerar HTTP eller SOCKS på den nya adressen.
CURLOPT_CONNECT_TO ändrar värden och porten som libcurl ansluter till för en matchande destination. Det får inte den alternativa ändpunkten att tala HTTP CONNECT eller SOCKS.
Det ursprungliga värdnamnet tillhandahåller fortfarande identiteten för applikationsprotokollet och TLS. Detta är användbart när man medvetet når en annan serverinstans av samma tjänst. En godtycklig proxy-lyssnare förväntar sig i stället sin egen proxyhandskskakning, inte applikationens råa byte.
Kombinera mappningen med en HTTP-proxy
Konfigurera HTTP-proxyn separat. En HTTP-rutt utan inloggningsuppgifter till en offentlig tjänst kan använda en ändpunkt från HTTP-proxylistan när den mellanhanden är tillåten; inget befintligt proxykonto bör skickas till kandidaten. libcurl dokumenterar att en avvikande connect-to-mappning då kan växla begäran till tunnelläge: proxyn öppnar anslutningen till den mappade destinationen. Mappningen väljer vad som nås genom proxyn; den har inte ersatt proxykonfigurationen.
Håll tre värden åtskilda: det avsedda tjänstenamnet, den alternativa anslutningsändpunkten och proxyändpunkten. Välj varje alternativ för dess faktiska roll och behåll normal TLS-namnkontroll för tjänsten.
Om själva proxyporten vägrar anslutningar kan ett annat alternativ som pekar på samma frånvarande lyssnare inte åtgärda första hoppet. Lös det lyssnar- eller sökvägsfelet innan du ändrar destinationsmappningen.