Tôi đang khắc phục sự cố với dịch vụ tôi gọi qua HttpClient của .NET, cố định tuyến yêu cầu qua proxy cục bộ (Fiddler), nhưng cài đặt proxy của tôi dường như không có hiệu lực .Sử dụng proxy với .NET 4.5 HttpClient
Đây là cách tôi tạo cho khách hàng:
private HttpClient CreateHttpClient(CommandContext ctx, string sid) {
var cookies = new CookieContainer();
var handler = new HttpClientHandler {
CookieContainer = cookies,
UseCookies = true,
UseDefaultCredentials = false,
Proxy = new WebProxy("http://localhost:8888", false, new string[]{}),
UseProxy = true,
};
// snip out some irrelevant setting of authentication cookies
var client = new HttpClient(handler) {
BaseAddress = _prefServerBaseUrl,
};
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
sau đó tôi gửi yêu cầu theo:
var response = CreateHttpClient(ctx, sid).PostAsJsonAsync("api/prefs/", smp).Result;
Yêu cầu đi thẳng đến máy chủ mà không cần cố gắng để đạt proxy. Tôi đã bỏ lỡ cái gì?
Dịch vụ của bạn có được thử nghiệm trên máy cục bộ không? Xem xét bỏ qua proxy cho các địa chỉ cục bộ. – Xaqron
Nhân tiện, việc tạo ra các cá thể 'HttpClient' rất tốn kém. Bạn nên sử dụng lại các trường hợp bất cứ khi nào có thể. Có một số bài đăng trên blog nói về điều này có thể truy cập bằng Google. – NathanAldenSr