要访问一些我需要测试的网站,我需要在 Firefox 上插入一些特定的代理。但是,当我通过 Firefox 或任何浏览器设置代理时,fiddler 不再捕获请求,因为它还使用自己的代理来获取请求。有什么方法可以使用 fiddler 捕获流量,同时使用任何浏览器使用外部代理?
我在 Fiddler2 中提出这样的请求
User-Agent: Fiddler
Host: asdf.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Key=asdf:qwer
Run Code Online (Sandbox Code Playgroud)
当我单击 时Execute,Fiddler 会将最后一行编辑为:
Key=asdf: qwer
Run Code Online (Sandbox Code Playgroud)
请注意额外的空间。
为什么会发生这种情况?它是否会导致我的请求出现问题?
Invoke-RestMethod 遇到了一个非常奇怪的问题。我使用它发送 GET 并在请求中包含一个 cookie:
$getEndpoint = "http://YYYYYYYYYYYYYY/clients/XXXXXX/dev"
$authheader = "auth_tkt=\""XXX"""
Invoke-RestMethod -Headers @{"cookie" = "$authheader"} -Uri $getEndpoint
Run Code Online (Sandbox Code Playgroud)
如果我查看 Fiddler 中的请求,我会看到以下内容:
GET http://YYYYYYYYYYYYYY/clients/XXXXXX/dev HTTP/1.1 用户代理:Mozilla/5.0(Windows NT;Windows NT 6.1;en-GB) WindowsPowerShell/4.0 主机:YYYYYYYYYYYYYY 连接:保持活动
饼干去哪儿了?沿着管道的某个地方,饼干正在消失。有什么想法吗?我假设我在某个地方误解了某些东西。
如果重要的话,我尝试了来自curl的类似请求,它工作没有问题(即它使用提供的cookie进行身份验证,并且我得到了我期望的响应):
卷曲-H“cookie:auth_tkt = \”XXX“ http://YYYYYYYYYYYYYY/clients/XXXXX/dev
我有以下要求:
我需要从命令行启动 Fiddler。它将立即开始捕获我的流量。一段时间后,我想停止捕获流量,但不想关闭 Fiddler。
实现这一目标的最佳方法是什么?我已经探索了 Fiddler 的命令行选项,但它们只会启动 Fiddler 而不会停止它。另外,终止 Fiddler 进程不会安全地保存我的会话。请帮忙。
我有一个工作控制台应用程序,它将数据发送到 API。然而,一旦我启动 fiddler,我就会收到消息:
[Fiddler] ReadResponse() 失败:服务器未返回此请求的完整响应。服务器返回 257 字节。
Fiddler 中显示的第一个标头是:HTTP/1.1 504 Fiddler - Receive Failure
它似乎是由 fiddler 直接生成的,而不是来自我的 API 服务器(.NET)。
鉴于 fiddler 不会向我显示服务器的原始结果,我如何调试为什么会发生这种情况?我认为存在某种 HTTP 标头错误,该错误与我的控制台应用程序兼容,但与 Fiddler 不兼容。
我一直在处理 gzip 压缩请求,因此也许其中一个标头不正确(内容长度),但由于无法查看原始响应,因此很难调试此问题。
我有一个 .net core 3.1 web api。我已经尝试了以下但它总是在它击中它时变成空
[HttpPost]
public IActionResult ReturnXmlDocument(HttpRequestMessage request)
{
var doc = new XmlDocument();
doc.Load(request.Content.ReadAsStreamAsync().Result);
return Ok(doc.DocumentElement.OuterXml.ToString());
}
Run Code Online (Sandbox Code Playgroud)
它甚至在调试过程中也没有命中它,它还在 fiddler 中显示 415 错误。
在Fiddler 2中,哪里可以看到ViewState的总大小超出了响应的总大小(Body列中的字节数)?
谢谢!
我希望添加一个Fiddler脚本,拦截与特定位置和特定引用者匹配的http请求,并使用本地备选方式进行响应.
想象一下,我们正在寻找以下标准:
[IF]请求是针对www.domain.com/file.js [AND]请求有一个带有主机名www.referrer.com [THEN]的引用来回复内容C:\Your\File.txt
我有一个node.js服务,它接受POST请求.我正在尝试使用Fiddler来生成帖子请求.但是,当我在我的服务中打印请求正文时,我得到一个没有数据的空对象.我将Fiddler中的请求体设置为诸如此类的东西{key:value}.request.body在node.js服务中打印时,我得到一个空对象{}.
请求标头:
User-Agent: Fiddler
Host: localhost:3000
Content-Length: 10
Run Code Online (Sandbox Code Playgroud)
身体:
{ key:ky }
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
我正在使用HttpClient类将一些数据发送到特定主机.我只想发送一个没有任何额外行的纯标题,如("Host:http").所以这一行是最后一个从标题中删除,但我不知道如何.
代码:
HttpRequestMessage msg = new HttpRequestMessage(HttpMethod.Post, aUrl);
msg.Headers.Clear();
msg.Headers.Remove("Host");
msg.Headers.ExpectContinue = false;
Encoding encoding = ConfiguratorASUST.Instance.Encoding ?? Encoding.GetEncoding(ConfiguratorASUST.ENCODING_DEFAULT);
msg.Content = new StringContent(aStr, encoding);
_client.SendAsync(msg);
Run Code Online (Sandbox Code Playgroud)
Fiddler中的结果标题:
POST http://http//localhost.fiddler:60001/POS/POSTELESPIS HTTP/1.1
Content-Type: text/plain; charset=windows-1251
Host: http
Run Code Online (Sandbox Code Playgroud)
Host: http需要从邮件的标题中删除此行.但是我怎么能这样做呢?!我尝试了以下方法:
msg.Headers.Clear();
msg.Headers.Remove("Host");
Run Code Online (Sandbox Code Playgroud)
无济于事.实际上我也看到了标题Proxy-Connection: Keep-Alive的添加.
fiddler ×10
http ×5
.net ×1
asp.net ×1
asp.net-core ×1
c# ×1
cookies ×1
fiddler-dev ×1
fiddlercore ×1
javascript ×1
node.js ×1
post ×1
powershell ×1
proxy ×1
viewstate ×1
webapi ×1
xml ×1