2017-04-08 2 views
0

Je peux définir proxy http avec ce code:C# HttpClient Tor socks4/5 proxy?

public class CustomFlurlHttpClient : DefaultHttpClientFactory { 
    public override HttpClient CreateClient(Url url, HttpMessageHandler m) { 
     return base.CreateClient(url, CreateProxyHttpClientHandler("http://192.168.0.103:9090")); 
    } 

    private HttpClientHandler CreateProxyHttpClientHandler(string proxyUrl, string user = "", string passw = "") { 
     NetworkCredential proxyCreds = null; 
     var proxyUri = new Uri(proxyUrl); 
     proxyCreds = new NetworkCredential (user, passw); 
     var proxy = new WebProxy (proxyUri, false) { 
      UseDefaultCredentials = false, 
      Credentials = proxyCreds 
     }; 
     var clientHandler = new HttpClientHandler { 
      UseProxy = true, 
      Proxy = proxy, 
      PreAuthenticate = true, 
      UseDefaultCredentials = false 
     }; 
     if (user != "" && passw != "") { 
      clientHandler.Credentials = new NetworkCredential (user, passw); 
     } 
     return clientHandler; 
    } 
} 
class MainClass { 
    public static void Main (string[] args) { 
     run(); 
     Console.ReadKey(); 
    } 

    async static void run() { 
     using(FlurlClient client = new FlurlClient(c => { c.HttpClientFactory = new CustomFlurlHttpClient();})) { 
      var result = await client.WithUrl("https://www.google.com").GetStringAsync(); 
      Console.WriteLine(result); 
     }; 
    } 
} 

mais pas proxy chaussettes. Des idées comment le faire? Ou tout autre client de repos (non déprécié) avec la syntaxe async/wait supportée?

+0

En général, tout ce que vous pouvez faire avec HttpClient, vous pouvez le faire avec Flurl. Malheureusement, je ne trouve aucun exemple et je ne connais pas très bien SOCKS personnellement. Peut-être recadrer cela comme une question HttpClient et quelqu'un va entrer. –

Répondre