2010-07-27 48 views

回答

62

簡單......你需要設置一個標頭值,符合你的要求,就像這樣:

Cookie: YourCookieName=YourCookieValue 
+2

This不會以客戶端知道cookie在那裏的方式設置cookie。指定的行也會有效地「隱藏」所有其他cookie。 – EricLaw 2013-10-28 23:52:18

+6

因爲這個問題在Google中很高,所以現在剛剛偶然發現了這個問題。對於多個Cookie,使用'Cookie:CookieName1 = CookieVal1; CookieName2 = CookieVal2'和路徑/協議詳細信息使用'Cookie:CookieName1 = CookieVal1; CookieName2 = CookieVal2;路徑= /; HttpOnly' – EvilDr 2014-08-13 09:04:46

2

Fiddler允許您重新發送/重建現有的請求。有一個Request Builder。在RAW表單中重建時,請修改您的Cookie。

+2

這對現有請求很好 - 但這是一個需要cookie的新請求。 – 2010-07-27 09:13:00

7

您需要更具體地瞭解您要做的事情。

您可以編輯(或添加)出站Cookie標頭,將cookie發送到網站。您可以手動或通過FiddlerScript engine執行此操作。但是,這並不會在客戶端「設置」cookie--它只是將其發送到服務器。如果要在客戶端上設置cookie,則必須使用其他方法,或者可以在服務器的先前響應中注入一個Set-Cookie響應標頭,並在客戶端上設置該值。

+0

謝謝埃裏克,設置出站cookie標題正是我想要做的。 (BTW Fiddler是一個非常出色的工具,我在一個由250名開發人員組成的團隊中工作,每個人都在每天都使用它,我們發現它只是診斷REST服務的低級問題的憑證。) – 2010-07-27 19:33:42

16

爲此使用FiddlerScript engine,添加以下代碼到onBeforeRequest方法:

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

這將保留已設置的任何其他cookie。

+0

我使用這一行代碼來「替換」cookie的值並設置cookie值。它還處理Cookie標頭不屬於初始請求的情況。 'oSession.oRequest ['Cookie'] = oSession.oRequest ['Cookie']? oSession.oRequest ['Cookie']替換(「YourCookieName =」,「ignoredYourCookieName =」)+「; YourCookieName = YourCookieValue」:「YourCookieName = YourCookieValue」;' – 2015-02-10 21:12:37

5

您也可以使用Fiddler Composer。

  1. 運行提琴手
  2. 打開頂部的作曲標籤。

如果您可以從您的網站的另一個請求開始,這是最簡單的。爲此,請捕獲您要修改的請求,然後將其從UI拖動到作曲家選項卡。

一個很好的解釋是在這裏:http://www.debugtheweb.com/Fiddler/help/composer.asp

1

該解決方案適用於基於Cookie的身份驗證:

如果你要測試的API/URL它啓用了身份驗證,請嘗試以下,我顯示了IIS服務器上的MVC Web API。通常有多於1塊餅乾負責授權,因此可能需要在標頭中發送多於1塊餅乾如下:

User-Agent: Fiddler Host: localhost:51000 content-Type: application/json Cookie : .ASPXAUTH=xxxxx;ASP.NET_SessionId=yyyy;__RequestVerificationToken=zzzz 
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獲取更多信息。

相關問題