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

Jer*_*Gee 52 cookies fiddler

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

Ray*_*ess 63

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

Cookie: YourCookieName=YourCookieValue
Run Code Online (Sandbox Code Playgroud)

  • 由于这个问题在谷歌很高,所以现在偶然发现了这一点.对于多个cookie,使用`Cookie:CookieName1 = CookieVal1; CookieName2 = CookieVal2`和路径/协议详细信息使用`Cookie:CookieName1 = CookieVal1; CookieName2 = CookieVal2; 路径= /; HttpOnly` (7认同)
  • 这不会以客户端知道cookie存在的方式设置cookie.指定的行也将有效地"隐藏"所有其他cookie. (2认同)

Des*_*LFC 21

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

oSession.oRequest["Cookie"] = (oSession.oRequest["Cookie"] + ";YourCookieName=YourCookieValue");
Run Code Online (Sandbox Code Playgroud)

这将保留已设置的任何其他cookie.

  • 我使用这个单行代码来“替换”cookie 的值并设置 cookie 值。它还处理 Cookie 标头不是初始请求的一部分的情况。`oSession.oRequest['Cookie'] = oSession.oRequest['Cookie'] ?oSession.oRequest['Cookie'].Replace("YourCookieName=","ignoredYourCookieName=") + ";YourCookieName=YourCookieValue" : "YourCookieName=YourCookieValue";` (2认同)

Eri*_*Law 7

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

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

  • 谢谢 Eric,设置出站 cookie 标头正是我想要做的。(顺便说一句,Fiddler 是一个最优秀的工具,我在一个由大约 250 名开发人员组成的团队中工作,每个人几乎每天都使用它。我们发现它只是诊断 REST 服务的低级问题的方法。) (2认同)

Ric*_*cht 5

您也可以使用Fiddler Composer.

  1. 运行Fiddler
  2. 打开顶部的Composer选项卡.

如果您可以从您的网站发出另一个请求,这是最简单的.要执行此操作,请捕获要修改的请求,然后将其从UI拖动到composer选项卡.

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