2017-11-21 15 views
2

はフィドラーでHTTPトラフィックを確認し、ない任意のHTTPトラフィックをキャプチャし、私のテストコード:RestSharpは、.NETのコア上で(例えば、バイオリン弾き用)システムプロキシを無視し

private static void ByRestSharp() 
{ 
    var restClient = new RestClient("https://jsonplaceholder.typicode.com"); 
    var request = new RestRequest("posts", Method.GET); 
    var response = restClient.Get<List<Post>>(request); 
    Console.WriteLine("{0} posts return by RestSharp.", response.Data.Count); 
} 

しかし、私はHttpClientをを使用するように変更した後、 Fiddlerはhttpトラフィックをキャプチャできます。サンプルコード:

private static void ByHttpClient() 
{ 
    var httpClient = new HttpClient(); 
    using (var req = new HttpRequestMessage(HttpMethod.Get, "https://jsonplaceholder.typicode.com/posts")) 
    using (var resp = httpClient.SendAsync(req).Result) 
    { 
     var json = resp.Content.ReadAsStringAsync().Result; 
     var users = SimpleJson.SimpleJson.DeserializeObject<List<Post>>(json); 
     Console.WriteLine("{0} posts return by HttpClient.", users.Count); 
    } 
} 

これはRestSharpまたはFiddlerの問題ですか?

答えて

3

RestSharpは、.NET Standardに移行するまで、システムプロキシをサポートしていました。その後、.NET Coreのプロキシに関する問題が発生し、システムプロキシの使用が完全に削除されました。我々はissue opened on Githubを持っており、あなたは進歩を確認することができます。

ただし、プロキシを明示的に設定すると完全な.NET Frameworkで動作するはずです(this issue)。

作業をしていることが確認されている問題からコード:

var client = new RestClient("http://www.google.com"); 
client.Proxy = new WebProxy("127.0.0.1", 8888); 
var req = new RestRequest("/", Method.GET); 
var resp = client.Execute(req); 
関連する問題