在Fiddler我有很多回复,我喜欢看原始.对于每个人,Fiddler说"响应是经过编码的,可能需要在检查前进行解码.点击此处进行转换."
我不仅想要当前的一个,而且总是要改变所有的反应.有谁知道如何设置这个?规则 - >删除所有编码不起作用.
我正在考虑将Fiddler用于以下目的......
我有一个基于JavaScript的服务,我想向潜在客户展示.为了向他们展示如果他们安装(包括)我的脚本,他们的网站会是什么样子,我想在我的PC上设置Fiddler,以便在获取客户的网站时,
<script type="text/JavaScript" src="myscript.js"></script>
Run Code Online (Sandbox Code Playgroud)
该行将包含在HTML <head>部分中.
这可以用Fiddler轻松完成吗?有人能指出我在哪里可以找到涵盖的文件,如果是的话?
谢谢!
---- ----更新
目前我已经使用BHO将我的脚本添加到页面中.我在onDocumentComplete上使用execScript()来运行一段简单的JavaScript,它将我需要的.js文件附加到页面上.但EricLaw的指针和抖动的答案似乎是一种更完整(和优雅)的方式来做我需要的方式.
如果有人有兴趣,我可以在这里上传BHO代码.-谢谢!
我有一个ASP.NET MVC网站.我的一条路线是一个URL需要5个参数.为了说明起见,这些参数被命名为parameter1,parameter2,parameter3,parameter4,和parameter5.目前,我正在构建一个C#代码中的URL,该代码将POST通过一个mvc动作WebClient.该代码如下所示:
WebClient myWebClient = new WebClient();
myWebClient.UploadStringCompleted += myWebClient_UploadStringCompleted;
string url = "http://www.example.com/customer/" + parameter1 + "/orders/" + parameter2 + "/" + parameter3 + "/" + parameter4 + "/" + parameter5;
myWebClient.UploadStringAsync(new Uri(url, UriKind.Absolute));
Run Code Online (Sandbox Code Playgroud)
我相信这个UploadString方法可以做到POST.我需要做一个POST,因为我的参数值可能很长.事实上,我估计偶尔,总网址长度可能是20000个字符.无论如何,400 error当我尝试发布我的数据时,我得到了一个.在努力调试这一点,我试图找出如何模拟POST在Fiddler.
假设我通过如上所示的查询字符串传递值,我会输入什么值Fiddler?从Composer标签中,我不确定该Request Headers区域应该输入什么.我也不完全确定要为网址输入什么内容.我不确定是否将整个URL放在那里,包括参数值,或者是否属于Request Headers. …
我正在尝试使用客户端证书使用ssl和客户端身份验证来保护我的RESTful WebApi服务.
去测试; 我已生成一个自签名证书并放置在本地计算机,受信任的根证书颁发机构文件夹中,并且我已生成"服务器"和"客户端"证书.服务器的标准https无问题.
但是我在服务器中有一些代码来验证证书,当我使用提供客户端证书的测试客户端进行连接并且测试客户端返回403 Forbidden状态时,这永远不会被调用.
这实现了服务器在我的证书到达我的验证码之前失败了.但是,如果我启动提琴手它知道需要客户端证书并要求我提供一个到我的文档\ Fiddler2.我给了它我在我的测试客户端使用的相同客户端证书,我的服务器现在工作,并收到我期望的客户端证书!这意味着WebApi客户端没有正确发送证书,我的客户端代码与我找到的其他示例几乎相同.
static async Task RunAsync()
{
try
{
var handler = new WebRequestHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ClientCertificates.Add(GetClientCert());
handler.ServerCertificateValidationCallback += Validate;
handler.UseProxy = false;
using (var client = new HttpClient(handler))
{
client.BaseAddress = new Uri("https://hostname:10001/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
var response = await client.GetAsync("api/system/");
var str = await response.Content.ReadAsStringAsync();
Console.WriteLine(str);
}
} catch(Exception ex)
{
Console.Write(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么它会在提琴手但不是我的测试客户端?
编辑:这是GetClientCert()的代码
private static X509Certificate GetClientCert()
{
X509Store store = null;
try
{
store = new X509Store(StoreName.My, …Run Code Online (Sandbox Code Playgroud) 我Fiddler用来调试我的应用程序.每当响应被服务器压缩而不是解压缩响应时,Fiddler会显示不可读的二进制数据:
/* Response to my request (POST) */
HTTP/1.1 200 OK
Server: xyz.com
Date: Tue, 07 Jun 2011 22:22:21 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
14
????????????????
0
Run Code Online (Sandbox Code Playgroud)
如何解压缩响应?
我目前正在编写一个使用HTTP POST将csv文件和一些其他参数上传到服务器的java应用程序.服务器不断向我的应用程序返回500个错误,我想在Fiddler中查看HTTP请求,以便我可以看到POST请求.
当我运行Fiddler时,它不会捕获来自Java应用程序的任何HTTP流量.我写了一个有效的GET请求,所以我知道我可以与服务器通信,但是没有通过Fiddler显示流量.
我刚刚开始研究Win Phone 8.1,并在模拟器中通过Fiddler代理一些数据,但它似乎不想玩球.电话7和8(不是8.1)周围的所有指导似乎是模拟器将路由流量,因为您希望机器上的其他应用程序谈论HTTP,但我没有看到它发生.例如,Eric的帖子在这里:http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx
没有应用过滤器.
内容在模拟器上的IE中成功加载.
Fiddler成功捕获来自主机的所有流量.
模拟器可以成功浏览到主机以获取Fiddler根证书.
Fiddler正确设置了registrationhostname属性.
所以我几乎没有想法,我在多台机器上看到了相同的行为.我更倾向于认为我错过了一些明显的东西而不是我认为8.1中有什么变化,对下一步该尝试的任何想法?
有一两件事,我感到困惑的是,我看到(如Eric的)指导有关配置提琴手允许远程连接会谈,但再没有什么在为你通常用物理设备做仿真器设置的代理.我假设这是通过在Fiddler中配置主机名来解决的,然后由模拟器解析它以通过代理路由?
编辑:仅供参考,我需要模拟器,因为它将用于即将到来的Pluralsight课程,我想通过Fiddler显示手机行为和流量.我怀疑这个问题可能与它在主机上通过虚拟网卡进行通话的事实有关,听起来合理吗?
我正在为我们的应用程序测试一些代理设置,但我需要测试需要Windows身份验证(或网络凭据)的代理.
为了进行测试,我将代理的凭据分配给网络凭据
System.Net.WebProxy proxy = new System.Net.WebProxy("127.0.0.1", 8888);
proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
//proxy.Credentials = new System.Net.NetworkCredential("1", "1");
System.Net.WebRequest.DefaultWebProxy = proxy;
Run Code Online (Sandbox Code Playgroud)
目前,我使用Fiddler Require Proxy Authentication打开规则.如何配置Fiddler以便我可以使用Windows凭据而不是默认的"1"/"1"凭据?
这可能是我遇到的最棘手的问题.我有一段代码将POST提交到网址.当fiddler没有运行时,代码不起作用也不会抛出任何异常.但是,当fiddler运行时,代码会成功发布数据.我可以访问帖子页面,所以我知道数据是否已经过POST.这可能是非常无意义的,但这是我遇到的情况,我很困惑.
byte[] postBytes = new ASCIIEncoding().GetBytes(postData);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://myURL);
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10";
req.Accept = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
req.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.3");
req.Headers.Add("Accept-Language", "en-US,en;q=0.8");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = postBytes.Length;
req.CookieContainer = cc;
Stream s = req.GetRequestStream();
s.Write(postBytes, 0, postBytes.Length);
s.Close();
Run Code Online (Sandbox Code Playgroud) 我正在尝试正确设置缓存并将Expires标头设置为将来365天正常工作但未在IE9中正确显示.有谁知道为什么?
当您访问IE9中的任何网站(例如www.google.com),然后在地址栏中单击Enter以使用完全缓存重新访问它,它显示了Fiddler未显示的许多额外304.
查看网络检查器选项卡(在F12上),IE9显示它已收到针对CSS和JS文件的304 Not Modified响应和3个图像(可能是大约在过去一个月内修改日期的图像 - 其他30个未显示的图像较旧).
但是,根据Fiddler并在我正在开发的网站上查看服务器上的IIS日志,它实际上并没有提出这些请求.IE9网络时间线显示这些灰色302s没有等待时间和"<1 ms"响应时间 - 而如果我按F5它们也是灰色302s,但显示等待和下载时间几毫秒(并且它们命中网络).
那么为什么IE9网络检查员认为它发布了这些条件请求呢?在它到达Fiddler之前,它是否实际发出了某个网络堆栈满足的请求?
Chrome会将所有请求(包括所有图片)显示为灰色200(来自缓存),而不是页面本身(黑色200)(根据Fiddler和IIS日志,这是正确的).
Firebug为CSS和JS显示灰色200 OK,奇怪的是只有一个图像(也正确,假设灰色200表示来自缓存 - 但为什么只显示这些资源而不是所有其他图像?)
我一直在阅读Eric Lawrence关于IE9缓存和网络堆栈的博文,但他没有提到这种奇怪的行为.
fiddler ×10
c# ×4
http ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
compression ×1
gzip ×1
http-post ×1
java ×1
javascript ×1
netbeans ×1
ssl ×1