IServerXMLHTTPRequest on HTTPS



我正在尝试实现一个c++应用程序,该应用程序将使用IServerXMLHTTPRequest访问HTTPS服务器。

我当前的代码是:

    CComPtr<MSXML2::IServerXMLHTTPRequest> xmlHttp;
    HRESULT hr = xmlHttp.CoCreateInstance(__uuidof(ServerXMLHTTP));
    hr = xmlHttp->open(_T("POST"),_T("https://someurl.com/somepath"),false);
    hr = xmlHttp->setTimeouts( 100000,
            50000,
            100000,
            100000
            );
    hr = xmlHttp->setOption(SXH_OPTION_SELECT_CLIENT_SSL_CERT, 
                            xmlHttp->getOption(SXH_OPTION_SELECT_CLIENT_SSL_CERT));
    hr = xmlHttp->setRequestHeader(_T("Content-Type"),_T("application/x-www-form-urlencoded"));
    sPostData = ...;
    hr = xmlHttp->send((BSTR)sPostData);

当我尝试运行上面的代码时,服务器返回403(Forbidden)错误。

这可能是什么原因造成的?我该怎么办?

我成功了!

对于那些将来可能遇到同样问题的人,可以通过在URL中指定实际的文件名和扩展名来解决这个问题,而不仅仅是指定路径。

你可以参考这个链接:403错误

谢谢!

最新更新