2012-07-25 110 views
1

我必須從Pingdom接收API。地址是https://api.pingdom.com.NET https身份驗證(pingdom api)

如何在.NET中使用http獲取https時獲取?谷歌給我自認倒黴:(

問候

工作

更新::

感謝您的幫助..嘗試使用PowerShell:

$NC = New-Object System.Net.NetworkCredential("USER", "PASS") 
$CC = New-Object System.Net.CredentialCache 
$CC.Add("api.pingdom.com", 443, "Basic", $NC) 


$webclient = [System.Net.WebRequest]::Create("https://api.pingdom.com") 
$webclient.Credentials = $CC 
$webclient.PreAuthenticate = $true 
$webclient.Method = "POST" 

$webclient.GetResponse() 

我得到的錯誤:異常調用「 GetResponse「與」0「參數:」遠程服務器返回錯誤:(401)未經授權。「

有什麼好建議嗎?

+0

有一個使用API​​的.net應用程序,您可以在這裏下載Visual Studio項目:http://www.pingdom.com/services/api-applications/ – 2012-07-25 11:53:34

回答

2

基本上,

http://www.pingdom.com/services/api-documentation-rest/

The authentication method for user credentials is HTTP Basic Access Authentication (encrypted over HTTPS). This means you will provide your credentials every time you make a request. No sessions are used.

HTTP基本接入認證是有據可查的在這裏和MSDN上。

這個答案連同API文檔應該讓你開始正確的道路。

https://stackoverflow.com/a/1127295/64976

Assuming you use a WebRequest, you attach a CredentialCache to your request:

NetworkCredential nc = new NetworkCredential("user", "password"); 
CredentialCache cc = new CredentialCache(); 
cc.Add("www.site.com", 443, "Basic", nc); 

CredentialCache用於能夠設置基本身份驗證。

1

您應該可以設置Web客戶端的憑據,然後在任何需要登錄的時候提供您輸入的內容。

WebClient webClient = new WebClient(); 
webClient.Credentials = new System.Net.NetworkCredential("UserName", "Password", "Domain");