如何使用Fiddler在请求中设置Cookie?
在使用Fiddler向网站发出请求之前,我需要设置一个cookie。 我该怎么做呢?
简单…你需要设置一个标题值,用你的请求,像这样:
Cookie: YourCookieName=YourCookieValue
要使用FiddlerScript引擎执行此操作,请将以下代码添加到onBeforeRequest
方法中:
oSession.oRequest["Cookie"] = (oSession.oRequest["Cookie"] + ";YourCookieName=YourCookieValue");
这将保留已经设置的任何其他cookie。
你需要更具体的你想做什么。
您可以编辑(或添加)出站Cookie标头,将cookie发送到网站。 您可以手动或通过FiddlerScript引擎执行此操作。 但是,这不会在客户端“设置”cookie,只是将其发送到服务器。 如果要在客户端上设置cookie,则必须使用其他方法,或者可以在服务器的先前响应中插入Set-Cookie响应标头,并在客户端上设置该值。
您也可以使用Fiddler Composer。
- 运行提琴手
- 打开顶部的Composer选项卡。
如果您可以从您的网站的另一个请求开始,这是最简单的。 要执行此操作,请捕获您要修改的请求,然后将其从UI拖到composer php选项卡。
一个很好的解释是: http : //www.debugtheweb.com/Fiddler/help/composer.asp
提琴手允许您重新发送/重build现有的请求。 有一个Request Builder
。 在RAW表单中重build时,修改您的Cookie。
此解决scheme适用于基于Cookie的身份validation:
如果你想testing启用了身份validation的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
将Fiddler作为反向代理运行时,您可以通过在OnBeforeResponse方法中添加一行来通过FiddlerScript修改响应头:
static function OnBeforeResponse(oSession: Session) { // ... oSession.oResponse["Set-Cookie"] = "sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT"; }
另外检查更多的信息修改请求或响应的提琴手文档。