我创建了一个接受两件事的服务:
1) 称为“类型”的主体参数。
2) 要上传的 csv 文件。
我正在像这样在服务器端阅读这两件事:
//Read body params
string type = HttpContext.Current.Request.Form["type"];
//read uploaded csv file
Stream csvStream = HttpContext.Current.Request.Files[0].InputStream;
Run Code Online (Sandbox Code Playgroud)
我如何测试这个,我正在使用Fiddler来测试这个,但我一次只能发送一个东西(类型或文件),因为这两个东西都是不同的内容类型,我如何使用内容类型multipart/form-data和application/x-www-form-urlencoded同时进行。
即使我使用此代码
public static void PostDataCSV()
{
//open the sample csv file
byte[] fileToSend = File.ReadAllBytes(@"C:\SampleData.csv");
string url = "http://localhost/upload.xml";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "multipart/form-data";
request.ContentLength = fileToSend.Length;
using (Stream requestStream = request.GetRequestStream())
{
// Send the file as body request.
requestStream.Write(fileToSend, 0, fileToSend.Length);
requestStream.Close();
} …Run Code Online (Sandbox Code Playgroud) 谁能向我解释为什么在 Chrome 中输入这个链接
https://secure.malindoair.com/MalindoAirCIBE/OnlineBooking.aspx
当 Fiddler 运行时会出现 ERR_CONNECTION_RESET 错误?
请注意:
我已成功将 Fiddler 设置为“解密 HTTPS 流量”并为此使用其自己的证书。我可以看到来自其他 HTTPS 网站的流量。只有这个域的行为很奇怪。
我尝试在 .NET 中使用 HttpWebRequest 类为这个链接请求一个简单的 GET,没有参数和头,我收到“底层连接已关闭:发送时发生意外错误”。错误,几乎可以肯定与 Chrome 中的 ERR_CONNECTION_RESET 相同。
我曾尝试在我的 GET 请求中插入各种标头,例如 Keep-Alive(试过 true 和 false),但无济于事。
在 .NET 中编码时我没有使用任何代理。
有任何想法吗?
我刚刚开始使用 Flutter,现在正在尝试执行一些简单的 HTTP(s) 请求。我一直使用带代理的 Fiddler 来调试从 Android 应用程序发送的请求,但从 Flutter 发送的请求似乎没有显示。
有什么方法可以让 Fiddler 显示 Flutter 请求,或者我可以/应该使用其他一些 HTTP 请求调试工具/监视器吗?
如何使用 Fiddler 从本地 Service Fabric 群集上的服务捕获 http 流量?我在本地计算机上设置了 Service Fabric 群集,我需要捕获从这些服务流向外部提供程序的流量。我正在使用 Swagger 来启动请求,但我发现虽然 Fiddler 正在记录从我的浏览器到服务的通信,但它没有记录从这些服务到外部提供商的通信。
我已经阅读了一点,但并没有真正取得进展,因为大多数讨论似乎都围绕服务和 IIS,而不是专门针对 Service Fabric。
话虽如此,我仍然尝试了诸如此处包含的建议之类的建议,但并不高兴。
我假设我以某种方式需要通过 Fiddler 代理路由 Service Fabric(我以前必须使用 Gatling 负载测试来执行此操作,以便在 Fiddler 上显示它),但我不知道如何做到这一点或如果有可能吗?!?
在这里对'Expires'标题感到非常困惑!有时它按预期工作 - 有时不工作.
我使用以下代码来设置我的到期标头.请注意,这是使用ASP.NET在MVC自定义属性中完成的 - 这在这里并不真正相关 - 但解释'filterContext'了来自何处.
HttpCachePolicyBase cache = filterContext.HttpContext.Response.Cache;
TimeSpan cacheDuration = TimeSpan.FromSeconds(Duration);
// my own custom header so we know what time it was
filterContext.HttpContext.Response.AddHeader("CurrentTime", DateTime.Now.ToString());
cache.SetCacheability(HttpCacheability.Public);
cache.SetExpires(DateTime.Now.Add(cacheDuration));
cache.SetMaxAge(cacheDuration);
cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
Run Code Online (Sandbox Code Playgroud)
这有时会给我这样的标题:
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=413
Date: Wed, 18 Feb 2009 05:24:19 GMT
Expires: Wed, 18 Feb 2009 05:21:12 GMT
CurrentTime: 2/17/2009 9:21:12 PM
Run Code Online (Sandbox Code Playgroud)
有时像这样:
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=600
Date: Wed, 18 Feb 2009 05:27:55 GMT
Expires: Wed, 18 Feb 2009 05:27:55 …Run Code Online (Sandbox Code Playgroud) 我有一个WCF服务,其方法看起来像这样(使用调试器返回null进行测试,我只关心现在获取数据):
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "fares", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public List<Fare> GetFares(Dictionary<int, int> itineraries, decimal? threshold, bool includeInternational)
{
return null;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Fiddler向该方法发出请求,但无法理解正确的Request Body应该是什么.如果效果更好,我可以将Dictionary参数更改为其他参数.
在请求标题我通过:
User-Agent:Fiddler
Content-Type:application/json; 字符集= utf-8的
我该怎么把身体放进去?
我正在尝试使SwfUpload正常工作.在某些情况下,我有一种奇怪的行为.
所以我想检查闪存组件发送和接收的流量.我已经尝试使用fiddler来做到这一点,但我无法捕获从闪存或闪存中传来的数据.
有没有办法做到这一点 ?
(注意,我正在使用php 进行http:// localhost)
在此先感谢您的帮助
我正在寻找可用于调试Web应用程序的工具.我已将搜索范围缩小到以下工具:
如果你们中的一些人有这些工具的经验可以讨论他们的优点和缺点(你喜欢的功能,或者你认为某些工具中缺少但存在于其他工具中),那将是很好的.我在HTTPWatch和Fiddler之间主要混淆,我我更喜欢Fiddler(免费),如果它可以满足所有或大部分HTTPWatch的功能(但是我愿意为HTTPWatch付费,如果值得的话).
PS - 我知道HTTPWatch和Fiddler比其他两个工具强大得多(如果你不同意,请告诉我).我相信你们中的大多数人都会想要更多关于这些工具的详细信息,但是如果你们能够比较这些工具,请考虑更广泛的视角,将它们作为一般工具进行比较.
工作的一位同事前几天向我展示了Fiddler.对于我们这样做的工作,它非常方便.我决定今天在我的家用电脑上安装它,但由于某些原因它似乎不像我在Chrome中需要的那样工作.
当我在Chrome中加载页面时,Fiddler没有任何反应,但它在IE和FF中运行良好吗?我似乎也得到了很多这样奇怪的东西:

任何帮助都会很棒,我很好,真的很困惑!
谢谢 :)
注 - 一个类似的问题说关闭过滤器?据我所知,他们已经离开了
我正在使用Web API创建登录服务.当我与检查fiddler它的正常工作,但是当我与检查postman的chrome它的示值误差:
{ "Message": "An error has occurred.",
"ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'user' from content with media type 'multipart/form-data'.",
"ExceptionType": "System.InvalidOperationException",
"StackTrace": "
at System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
at System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
at System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger)\r\n
at System.Web.Http.ModelBinding.FormatterParameterBinding.ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)\r\n
at System.Web.Http.Controllers.HttpActionBinding.<>c__DisplayClass1.<ExecuteBindingAsync>b__0(HttpParameterBinding parameterBinder)\r\n
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()\r\n
at System.Threading.Tasks.TaskHelpers.IterateImpl(IEnumerator`1 enumerator, CancellationToken cancellationToken)" …Run Code Online (Sandbox Code Playgroud)