我有一个.NET应用程序,它对第三方Web服务进行SOAP Web服务调用.
在Visual Studio中调试应用程序时,我想使用Fiddler2或类似工具监视出站HTTP请求?
这可能吗?怎么做到呢?
更新2011.02.09 - Web服务是第三方,而不是localhost.
我想捕获我的Web应用程序通过HTTPS从CAS服务器发送和接收的数据.我尝试使用Fiddler2,但无法从Java Web应用程序捕获流量.我似乎需要将其配置为使用Fiddler2作为代理.我该怎么做?
一些额外的信息.我已经用keytool导入了Fiddler的证书.在Tomcat 7上运行Web应用程序.使用IntelliJ Idea.
我最近安装了最新的Fiddler(Fiddler4),我尝试的任何东西都是为了让它捕获本地流量.我有一个MVC应用程序连接到在IIS上运行的MVC WebApi应用程序,这是我尝试过的:
http://machinename/app-namehttp://localhostproxy.com/app-namehttp://localhost.
<system.net>
<defaultProxy>
<proxy bypassonlocal="False" usesystemdefault="True" />
</defaultProxy>
</system.net>
到我的MVC应用程序的web.config中.没有什么工作,我不知道该尝试什么.任何意见是极大的赞赏.谢谢,肖恩
我试图从我的root设备(4.4.4)捕获HTTPS流量,以分析应用程序的未记录协议.我已将我的Fiddler设置为代理并启用HTTPS嗅探.我在我的设备上安装了Fiddler生成的根证书.我在Android设备上为我的Wifi设置了代理.
当我运行浏览器并导航到任何HTTP或HTTPS站点时,Fiddler可以成功捕获流量.
当我运行一些应用程序(例如我自己的应用程序使用Parse作为其后端)时,我可以看到服务器的所有HTTPS流量,已解密.到现在为止还挺好.
当我尝试运行该特定应用程序时,我无法让Fiddler捕获其流量.以下是我对Fiddler的全部看法:
URL是一些IP地址:SSL(:443).
我也尝试过使用ProxyDroid.有趣的是,我能够捕获流量一次,看到解密的HTTPS连接到该应用程序的服务器,但在此之后,它再也没有捕获.我知道该应用程序使用HTTPS,而不是未知/其他协议.
如何成功捕获HTTPS流量,为什么Fiddler会为该应用程序工作,然后突然停止工作?
我知道有很多问题/答案,关于此的博客,而不是谈论Telerik的FAQ.我仍然无法找到这个被诊断出来并以明确的方式解决的问题:
语境:
我有一个Web API应用程序,我有一个(单元测试)客户端,它使用HttpClient向API发送请求.Web API应用程序在http:// localhost:8631中侦听/ 有时我使用Fiddler来查看正在发生的事情.
问题:
Fiddler没有捕获我的HttpClient和Web API之间的流量.启动Fiddler流量后仍然可以,但Fiddler中没有显示.
到目前为止的诊断:
结论: 至少我的情况:它不是关于HttpClient被明确配置为使用Fiddler作为代理.它是关于HttpClient和/或Fiddler的localhost行为.
再次发行:
有人可能会问:问题解决了,那么问题是什么?好...
Q1:这仍然是一个痛苦的问题,因为url是在某处编码或配置的(我的意思是http:// localhost:8631/ 或 http:// localhost .fiddler:8631所以fiddler的每次启动和停止都必须更新.更多:检查源代码到源代码控制,并由队友检查其他机器可能会导致问题.所以:这有什么不那么痛苦的解决方法吗?
硬编码我的机器名称(也可以工作)会导致在团队中工作和使用源代码控制时出现同样的痛苦和问题
Q2:为什么这种不一致的行为:纯http:// localhost:8631 /可以在任何浏览器上运行,但不能从HttpClient运行.
我认为回答Q2可以让我们更接近更有用的解决方法.
代码展示
// Using the following url w o r k s regardless of any proxy setting
// ...but it is a pain to hardcode or configure …Run Code Online (Sandbox Code Playgroud) 我正在尝试将NGINX配置为转发代理,以替换我们用作转发代理的Fiddler.我们使用的Fiddler的功能允许我们将所有传入请求代理到8888端口.我如何使用NGINX做到这一点?
在作为反向代理的NGINX的所有示例中,我看到proxy_pass始终定义到特定的上游/代理服务器.我如何配置它以便它进入所请求的服务器,无论服务器与我使用Fiddler作为转发代理的方式相同.
例:
在我的代码中:
WebProxy proxyObject = new WebProxy("http://mynginxproxyserver:8888/",true);
WebRequest req = WebRequest.Create("http://www.contoso.com");
req.Proxy = proxyObject;
Run Code Online (Sandbox Code Playgroud)
在mynginxproxyserver/nginx.conf中,我不想将代理委托给另一台服务器(例如,proxy_pass设置为http://someotherproxyserver).相反,我希望它只是一个代理服务器,并将请求从我的客户端(见上文)重定向到请求主机.当你将它作为代理启用时,这就是Fiddler所做的:http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
我有一个公开所有动词的ASP.NET Web API - 方法基本上是空的.
要运行项目,您可以这样做:从VS 2017启动一个新的asp.net Web项目 - 然后选择Web API.创建项目后,执行清理然后重建.打开"ValuesController",在PUT方法中放置一个断点,然后运行你的项目.
以下是API的代码(控制器代码 - 我在PUT方法中添加了一行):
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
var x = "value: " + value;
}
// DELETE api/values/5
public void Delete(int id) …Run Code Online (Sandbox Code Playgroud) 我试过用fiddle2调试我的一个python程序,它发出http请求并获得响应.然而,无论我在命令提示符或python GUI中运行python,我都没有在fiddler上看到任何流量.未设置小提琴过滤器,即设置为显示所有进程,我确实看到了浏览器的流量.
我需要设置任何设置吗?
谢谢.