2012-01-06 59 views
0

我試圖使用C#連接到REST API。 我能夠成功做一些GET請求,但POST不斷給我401認證錯誤。能夠獲得身份驗證但不通過POST身份驗證

我已經取得了進展,並下載提琴手,這就是我的要求是這樣的:

GET(工程)

請求頭

GET https: //hello.myurl.com/api HTTP/1.1 
Content-Type: application/x-www-form-urlencoded 
Accept: application/xml 
Authorization: Basic *************************************************************************************************** 
Host: hello.myurl.com 

-

POST(隱而不宣」 t工作)

請求標頭

POST https: //hello.myurl.com/api HTTP/1.1 
Content-Type: application/x-www-form-urlencoded 
Accept: application/xml 
Authorization: Basic *************************************************************************************************** 
Host: hello.myurl.com 
Content-Length: 12 

請求體

status=hello 

*同樣在使用兩種

String authinfo = "username:password"; 
Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo)); 

任何想法,爲什麼?

+0

你寫了webservice還是別人?它看起來像你說的一樣,如果有一些方法認證他們 – 2012-01-06 03:53:54

+0

但我發送身份驗證的詳細信息。 – soldieraman 2012-01-06 06:06:37

回答

0

我會查閱該特定URL的API文檔。 GET請求只是簡單地請求數據的只讀版本,POST請求意味着您正在對某個URL進行更改,所以API可能允許GET請求而不進行身份驗證,但需要對POST請求進行身份驗證。

在你的情況下,我會冒險猜測你的驗證是不正確的,但它只是被GET請求忽略,因爲它不需要驗證。