0
이 코드와 HTTP 프록시를 설정할 수 있습니다C# HttpClient 또는 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);
};
}
}
하지만 양말 프록시를. 어떤 아이디어로 그것을 할 수 있습니까? 또는 async/await 구문이 지원되는 다른 (더 이상 사용되지 않는) 나머지 클라이언트를 지원합니까?
일반적으로 아무것도, 당신은 Flurl로 할 수 있습니다. 불행히도 저는 어떤 예제도 찾지 못하고 있으며 양말에 개인적으로 익숙하지 않습니다. 어쩌면 이것을 HttpClient 질문으로 재구성하면 다른 사람이 안으로 전화 할 것입니다. –