2013-12-15 66 views
85

按照以下鏈接中的說明,我成功爲我的Django應用程序構建了一個REST API:http://django-rest-framework.org/tutorial/quickstart如何使用Chrome擴展「高級休息客戶端」測試REST API

我可以做從Unix提示符以下測試:

curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/ 

它的工作原理:)

不過,我想用Chrome擴展高級REST客戶端測試此相同的功能。 我已經安裝了擴展,但我不知道在哪裏/如何放置字段。當我把我的受過教育的猜測(因爲你可以在截圖中看到),它拒絕它說:「認證證書,未提供」

screenshot of failing request

如何/我應該在哪裏指定我的參數的REST API?

回答

6

通常用於基本身份驗證的快捷方式格式爲http://username:[email protected]/path。您還需要在請求中包含accept頭。

enter image description here

+0

感謝。我收到了以下回復:

CSRF驗證失敗。請求中止。

我該如何解決這個問題? –

+0

像你這樣的聲音沒有擊中API端點,而是擊中JavaScript的終結點。 – abraham

+0

這通常是一個很好的解決方案 - 除非您的UID或PWD包含「:」或「@」符號。 – Blamkin86

10

從截圖中我可以看到你想通過「用戶」和「密碼」值服務。您在請求頭部分發送了錯誤的參數值。 這些值在請求正文中發送,而不是在請求頭中發送。 你的語法也是錯誤的。 正確的語法是:{"user":"user_val","password":"password_val"}. 還要檢查什麼是內容類型。它應該與您爲服務設置的內容類型相匹配。

7

這似乎是一個非常古老的問題,但我提供了一個答案,以便它可以幫助其他人。 您可以在表單部分的第二個屏幕中指定變量,如下所示或通過附加第二個圖像中顯示的變量的 RAW格式。

Specify Form Variables

Specify in RAW format

如果你的變量,變量值是有效的,你應該看到在響應部分成功的響應。

在你寫

授權的標題部分

+0

如果是GET請求會怎麼樣? – Dejell

+0

我不得不明確地設置Content-Type標頭,其值爲:application/x-www-form-urlencoded –

3

:基本aG9sY67890vbGNpbQ ==

其中後基本字符串爲您的用戶名的64位編碼值:密碼。 php獲取標題值的示例是: echo「Authorization:Basic」。 BASE64_ENCODE( 「MYUSER:MYPASSWORD」);我認爲你的身份驗證方法是基本的。這也可以不同。

+0

這個問題具體詢問如何在Chrome擴展高級休息客戶端中執行此操作。 – Shauna

+0

Shauna的回答是正確的,應該是被接受的答案,但是來自sharif的這個評論對於那些很想知道Chrome Advanced Rest客戶端爲您對用戶和密碼進行編碼的用戶也很有用。謝謝。 – Deemoe

98

可發現性令人沮喪,但Advanced Rest Client如何處理基本身份驗證非常聰明。提到的快捷方式亞伯拉罕對我來說並不起作用,但是周圍有點扯扯,顯示它是如何做到的。

你需要做的第一件事就是加入Authorization頭: menus

然後,一個漂亮的小東西會彈出,當你專注於value輸入。(注意右下角的「構造」框): construct the auth value

點擊它會彈出一個對話框。如果你願意的話,它甚至可以創建OAuth! convenient inputs

田田!如果保留值字段爲空當您單擊「構造」,這將增加Basic部分(我認爲這也將增加必要的OAuth的東西,太多,但我沒有嘗試,因爲我目前的需求是爲基本認證),所以你不需要做任何事情。 fills in the field as needed

+0

對於基本認證 - https://www.youtube.com/watch?v=1SP1hgm9JqA。在「標題表單」選項卡中,添加標題「授權」。一旦你開始輸入,它會自動建議。在該值中,單擊編輯(鉛筆)按鈕並在彈出窗口中輸入驗證憑證。 – uutsav

0

克服此身份驗證問題的簡單方法是使用Fiddler竊取身份驗證令牌。

步驟

  1. 火了小提琴手和瀏覽器。
  2. 導航瀏覽器中打開web應用(網站),做 所需的身份驗證。
  3. 打開Fiddler並單擊HTTP 200 HTML頁面請求。 Capturing cookie value using Fiddler
  4. 在右側窗格中,從請求標題複製cookie標頭 參數值。 enter image description here
  5. 打開REST客戶端並單擊「頁眉形式」標籤,並提供從所述夾子板 Cookie值。

點擊發送按鈕,它應取結果。

2

添加授權標題,然後單擊鉛筆按鈕,輸入用戶名和密碼

enter image description here

相關問題