2016-04-21 17 views
2

我已經在Windows上使用招試過10的x64和Windows 7旗艦版86在Oracle虛擬機作爲嘉賓,並在贏得10爲目標,以Fiddler2和Fiddler4,FiddlerCore和查爾斯代理人。提琴手不會從我的C#應用​​程序捕捉交通

那些(Fiddler2,4,Core和Charles代理)捕獲來自我的瀏覽器的所有流量,甚至包括Visual Studio更新請求(或某些VS服務器上的VS會話),但上述所有設置都會失敗捕獲來自我的應用程序的流量 - 從調試或發佈的文件夾運行,或直接從VS調試器運行,無論是在x64還是x86。

我使用VS 2015,目標爲.net 4.5 另外,我對主機操作系統(win 10)沒有完全的管理權限,這可能是一個問題。

還首次開始小提琴手和/或管理員將無法正常工作。同樣以管理員身份啓動我的應用程序或VS也不起作用。

而且編輯的machine.config將無法正常工作,甚至沒有.NET部分(在win10可能),我修改了名.web之一。

有一些庫,將記錄在應用層面,而不是操作系統級別的請求和響應?

+0

這是什麼類型的應用程序?這是否使任何http調用? –

+0

是的,只有Http的,GET和POST通過原始的rwquests。 – codingcoder

+0

的(http://stackoverflow.com/questions/18482769/fiddler-not-capturing-traffic-from-my-c-sharp-application-in- [提琴手不是從我的C#應用​​程序在Windows 8中捕獲交通]可能的複製windows-8) –

回答

4

您的要求是不會通過系統的代理(其中小提琴手修改,這就是它是如何截獲您的流量)。有幾種方法可以將.NET應用程序配置爲通過一個。 Fiddler documentation指定它。

但基本上是:

  1. 指定的EXE配置代理:

    <configuration> 
    <system.net> 
        <defaultProxy> 
        <proxy bypassonlocal="false" usesystemdefault="true" /> 
        </defaultProxy> 
    </system.net> 
    </configuration> 
    
  2. 手動指定它的請求:

objRequest = (HttpWebRequest)WebRequest.Create(url); 
    objRequest.Proxy= new WebProxy("127.0.0.1", 8888); 

而且, MOS t如果訪問localhost,.NET類會繞過代理。在這種情況下,使用ip4.fiddler作爲主機而不是localhost(或ipv6.fiddle用於IPv6)