SOCKS-proxyer i .NET HttpClient: støttede URI-skjemaer
Bruk de dokumenterte SOCKS-proxy-URI-skjemaene til en kompatibel .NET HTTP-handler i stedet for å anta at gamle tredjepartsoppskrifter fortsatt er nødvendige.
Gamle svar anbefaler en ekstra SOCKS-handler fordi de retter seg mot en eldre .NET-nettverksstakk. En moderne støttet .NET HTTP-stakk kan bruke dokumenterte SOCKS-proxy-URI-skjemaer.
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);Endepunktet er bare illustrativt. SOCKS5-proxylisten tilbyr offentlige kandidater for denne socks5 WebProxy-URI-en; bruk versjonen som den faktiske handleren støtter. Kontroller målrammeverket, kjøretiden, plattformen og den faktiske handleren som applikasjonen bruker, før du bruker dette eksempelet på en eldre .NET Framework-prosess.
Microsofts nåværende proxydokumentasjon lister opp socks4, socks4a og socks5. Disse navnene beskriver protokollatferd. Et portnummer alene velger ikke SOCKS-versjonen, og curls stavemåte socks5h er ikke et universelt URI-skjema som alle klienter godtar.
For en autentisert SOCKS5-tjeneste konfigurerer du legitimasjonen i samsvar med grensesnittet handleren støtter. SOCKS4 og SOCKS4a gir ikke den samme passordautentiseringsmekanismen.
Destinasjons-URL-en forblir uendret. En HTTPS-forespørsel etablerer og verifiserer fortsatt destinasjonens TLS gjennom proxybanen; å legge til SOCKS er ikke en grunn til å deaktivere den verifiseringen.