我想通過休息API連接到vCloud Dirrector。 我正確的curl命令即可登錄無法發送正確的休息請求
curl -i -k -H "Accept:application/*+xml;version=1.5" -u "[email protected]:qwe123" -X POST https://172.16.8.240/api/sessions
但我不能把它寫在D.
import std.stdio;
import std.string;
import std.net.curl;
int main(string[] argv)
{
auto httpClient = HTTP();
httpClient.clearRequestHeaders();
httpClient.addRequestHeader("Accept", "application/*+xml;version=1.5");
httpClient.authenticationMethod = HTTP.AuthMethod.basic;
httpClient.setAuthentication("administrator", "System:qwe123");
try
{
auto a = post("https://172.16.8.240/api/sessions", "", httpClient);
}
catch (CurlException ex)
{
writeln(ex);
}
return 0;
}
我CurlException
[email protected]\net\curl.d(3504): Peer certificate cannot be auth
enticated with given CA certificates on handle 1D53758
----------------
0x00409456 in stdexceptionenforceEx at C:\D\dmd2\src\phobos\std\exception.d(527)
0x0043D88A in stdnetcurlCurl_check
0x00408742 in stdnetcurlpost at C:\D\dmd2\src\phobos\std\net\curl.d(423)
0x004020D4 in D at C:\Users\yrybalka\documents\visual studio 2013\Projects\visua
lStudioD\visualStudioD\main.d(15)
0x0042E670 in rtdmain2_d_run_mainrunAll__lambda1
0x0042E643 in rtdmain2_d_run_mainrunAll
0x0042E55B in _d_run_main
0x0042E378 in main at C:\Users\yrybalka\documents\visual studio 2013\Projects\vi
sualStudioD\visualStudioD\SuperClass.d(3)
0x0046C2C9 in mainCRTStartup
0x76CA495D in BaseThreadInitThunk
0x778D98EE in RtlInitializeExceptionChain
0x778D98C4 in RtlInitializeExceptionChain
也許我應該用一些編譯器關鍵HTTPS?或者我的代碼錯了?
你看過嗎? http://stackoverflow.com/questions/11750413/ssl-peer-not-authenticated-error-with-httpclient-4-1 – brandonscript