我必须从Pingdom接收API。地址为https://api.pingdom.com
我怎样才能在.NET中通过https进行http获取?谷歌没有给我任何工作:(
祝你好运
UPDATE ::
感谢您的帮助..尝试使用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)未经授权。”
有什么好建议吗?
答案 0 :(得分:2)
基本上,
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
用于设置基本身份验证。
答案 1 :(得分:1)
您应该能够设置webclient的凭据,然后在需要登录时,它将提供您提供的内容。
WebClient webClient = new WebClient();
webClient.Credentials = new System.Net.NetworkCredential("UserName", "Password", "Domain");