C# 如何获取HTTP POST数据的类型?

C# 如何获取HTTP POST数据的类型?,c#,http-post,fiddlercore,C#,Http Post,Fiddlercore,在上面的图片中,我使用fiddlercoredll创建了POST请求的Request Body 下面是我如何捕捉它的: private void FiddlerApplication_AfterSessionComplete(Session sess) { string requestBody = ""; if (sess.oRequest != null) { if (sess.oRequest.headers != n

在上面的图片中,我使用
fiddlercoredll
创建了
POST
请求的
Request Body

下面是我如何捕捉它的:

private void FiddlerApplication_AfterSessionComplete(Session sess)
{
        string requestBody = "";

        if (sess.oRequest != null)
        {
            if (sess.oRequest.headers != null)
            {
                requestBody = sess.GetRequestBodyAsString();
            }
        }
}
然而,我只需要在它的参数(图片上最后2行)的情况下捕捉它,而在另一种情况下,我不需要捕捉它

我可以用
string
过滤它,这就是我目前所做的。但是,正确的方法是什么


注意:图片上的每一行都是不同的请求,总共5行。

如果没有内容类型,则忽略它。找出你想要的并拿走

private void FiddlerApplication_AfterSessionComplete(Session sess) {
    if (sess == null || sess.oRequest == null || sess.oRequest.headers == null)
        return;

    // Ignore HTTPS connect requests or other non-POST requests
    if (sess.RequestMethod == "CONNECT" || sess.RequestMethod != "POST")
        return;

    var reqHeaders = sess.oRequest.headers.ToString(); //request headers  

    // Get the content type of the request
    var contentType = sess.oRequest["Content-Type"];

    // Lets assume you have a List<string> of approved content types.

    // Ignore requests that do not have a content type 
    // or are not in the approved list of types.
    if(contentType != null && !approvedContent.Any(c => contentType.Containes(c))
        return;    

    var reqBody = sess.GetRequestBodyAsString();//get the Body of the request

    //...other code.
}
private void fiddler应用程序\u会话完成后(会话sess){
if(sess==null | | sess.oRequest==null | | sess.oRequest.headers==null)
返回;
//忽略HTTPS连接请求或其他非POST请求
if(sess.RequestMethod==“CONNECT”| | sess.RequestMethod!=“POST”)
返回;
var reqHeaders=sess.oRequest.headers.ToString();//请求头
//获取请求的内容类型
var contentType=sess.oRequest[“内容类型”];
//假设您有一个已批准的内容类型列表。
//忽略没有内容类型的请求
//或不在批准的类型列表中。
if(contentType!=null&&!approvedContent.Any(c=>contentType.Containes(c))
返回;
var reqBody=sess.GetRequestBodyAsString();//获取请求的正文
//…其他代码。
}

我想是的,对于前两个,老实说,我不知道它们应该是什么……但是如果我对参数感兴趣,我可以跳过它们吗?我刚刚用内容类型做了一个测试,似乎我不想要的大多数都不具有内容类型属性。这是第一个线索。将其用作过滤器。如果没有问题帐篷类型然后忽略它。找出你想要的,然后拿出来。你想要的内容类型是什么?我必须捕获每个POST请求。但是,我只在它们是参数的情况下显示正文…现在查看属性,我看不到唯一的标识我需要保留的请求的内容类型…THO的内容类型是什么带参数的e。谢谢!!我刚刚看到所有我想要的都至少包含image/gif!!非常感谢!!!