如何使用Fiddler在请求中设置cookie?

时间:2010-07-27 08:54:14

标签: cookies fiddler

在使用Fiddler向网站发出请求之前,我需要设置一个cookie。我该怎么做?

7 个答案:

答案 0 :(得分:63)

简单...您需要根据您的请求设置标头值,如下所示:

Cookie: YourCookieName=YourCookieValue

答案 1 :(得分:20)

要使用FiddlerScript engine执行此操作,请将以下代码添加到onBeforeRequest方法中:

oSession.oRequest["Cookie"] = (oSession.oRequest["Cookie"] + ";YourCookieName=YourCookieValue");

这将保留已设置的任何其他Cookie。

答案 2 :(得分:7)

您需要更具体地了解您要做的事情。

您可以编辑(或添加)出站Cookie标头以向网站发送Cookie。您可以手动或通过FiddlerScript engine执行此操作。但这不会在客户端“设置”cookie - 它只是将其发送到服务器。如果要在客户端上设置cookie,则必须使用其他方法,或者可以在服务器的先前响应上注入Set-Cookie响应头,并在客户端上设置要设置的值。

答案 3 :(得分:5)

您也可以使用Fiddler Composer。

  1. 运行Fiddler
  2. 打开顶部的Composer标签。
  3. 如果您可以从网站发出其他请求,那么这是最简单的方法。要执行此操作,请捕获要修改的请求,然后将其从UI拖动到composer选项卡。

    这里有一个很好的解释:http://www.debugtheweb.com/Fiddler/help/composer.asp

答案 4 :(得分:2)

Fiddler允许您重新发送/重建现有请求。有一个Request Builder。在RAW表单中重建时,请修改您的Cookie。

答案 5 :(得分:1)

此解决方案对基于Cookie的身份验证有效:

如果您想测试启用了身份验证的API / url,请尝试以下操作,我将在IIS服务器上显示MVC Web API。通常有超过1个cookie负责授权,因此您可能需要在标题中发送超过1个cookie,如下所示:

User-Agent: Fiddler Host: localhost:51000 content-Type: application/json Cookie : .ASPXAUTH=xxxxx;ASP.NET_SessionId=yyyy;__RequestVerificationToken=zzzz

答案 6 :(得分:0)

运行Fiddler as a reverse Proxy时,您可以修改响应标头  通过FiddlerScript在OnBeforeResponse方法中添加一行:

static function OnBeforeResponse(oSession: Session) {
    // ...
    oSession.oResponse["Set-Cookie"] = "sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT";
}

另请查看有关Modifying a Request or Response的Fiddler文档以获取更多信息。