.NET https身份验证(pingdomapi)



我必须从Pingdom收到API。地址是https://api.pingdom.com

当它是https时,我如何在.NET中获取http?谷歌没有给我任何工作:(

向致以最良好的问候

更新::

谢谢你的帮助。。尝试使用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()

我得到错误:使用"0"参数调用"GetResponse"时发生异常:"远程服务器返回错误:(401)未经授权。"

有什么好建议吗?

基本上,

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

用户凭据的身份验证方法是HTTP基本访问身份验证(通过HTTPS加密)。这意味着您每次提出请求时都会提供凭据。未使用任何会话。

HTTP基本访问身份验证在这里和MSDN上都有很好的文档记录。

这个答案加上API文档应该会让你沿着正确的道路开始。

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

假设你使用WebRequest,你会在你的请求中附加一个CredentialCache:

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

CredentialCache用于设置基本认证。

您应该能够设置Web客户端的凭据,然后在任何需要登录的时候,它都会提供您提供的内容。

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

最新更新