2011-12-06 88 views
0

我試圖從我的FogBugz網站獲得的令牌,如下因素:Web客戶端,不發送參數

http://fogbugz.stackexchange.com/fogbugz-xml-api 

我:

using (var wb = new WebClient()) 
{ 
       var data = new NameValueCollection(); 
       data["cmd"] = HttpUtility.UrlEncode(cmdLogon); 
       data["email"] = HttpUtility.UrlEncode(email); 
       data["password"] = HttpUtility.UrlEncode(password); 
       content = encoding.GetString(wb.UploadValues(url, "POST", data)); 
} 

下面的服務器響應:

<?xml version="1.0" encoding="UTF-8"?><response><error code="1">Nom d'utilisateur ou mot de passe incorrect</error></response> 

我可以在IIS日誌中看到請求,但參數不存在。

我在做什麼錯了?

編輯:我確定參數是正確的,因爲我測試在瀏覽器中它運行良好。

+0

錯誤是非Fench閱讀器的用戶名或密碼錯誤。 –

+1

當你說你在瀏覽器中測試它..這是在本地機器上測試的,而不是在網絡/域上的機器上測試的。也許從我看到你只能使用密碼..除非cmdLogon是用戶名..但是看起來更像是一個方法()來調用 – MethodMan

+0

@DJ KRAZE我不明白你說的「你僅使用密碼..「 –

回答

1

我跑這與小提琴手,和你的代碼發送一個請求體中包含以下內容的請求:

cmd=logon&email=test-email&password=test-password 

相反,我認爲你應該發送的查詢字符串此信息作爲每documentation (見「登錄」部分):

http://www.example.com/api.asp?cmd=logon&[email protected]&password=BigMac 

如果你想使用NameValueCollection建立你的查詢字符串,這answer提供了一種方法來做到這一點。

+0

但我想通過POST –

+0

方法發送我的參數。有關信息,文檔中有一節」API請求的常規規則「,明確指出允許使用POST方法發送。 –