oXMLHTTP := CreateOleObject('MSXML2.XMLHTTP') as IXMLHTTPRequest;
        //oXMLHTTP := CoXMLHTTP.Create;
        USER_AGENT := 'Filesync';// PROGRAM_NAME;//'Filesync';        try //处理使用oxmlhttp可能出现的异常
            oXMLHTTP.open('PROPFIND', webdavurl, false,user, pwd);
            oXMLHTTP.setRequestHeader('Accept', ' */*');
            oXMLHTTP.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
            oXMLHTTP.setRequestHeader('User-Agent',USER_AGENT);
            oXMLHTTP.setRequestHeader('Depth',depth);  //表示是只取1层。
            //oXMLHTTP.send(user+'&'+pwd);
            oXMLHTTP.send('<?xml version="1.0"?><D:propfind xmlns:D="DAV:"><D:allprop/></D:propfind>');
        except
            on E:Exception do
            begin
                result := 2;
            end;
        end;其中webdavurl:='https://disk.swissdisk.com/zhouheng'
user:='zhouheng'
pwd:='lg52024436'为什么老连接不上呢?请高手帮解决。

解决方案 »

  1.   

    提示连接不上,oXMLHTTP.status = 401
      

  2.   

    提示连接不上,oXMLHTTP.status = 400
      

  3.   

    服务器的URL没有问题啊,可以操作的
      

  4.   

    400表示连接服务器错误,有可能是服务器无法访问,或者域名解析错误,服务器确实可以访问,但是https是加密连接,你是否设置了加密连接,另外是否带了libeay32.dll和ssleay32.dll两个动态库运行。
      

  5.   

    oXMLHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');//换成这样看看。
      

  6.   

    我觉得也有可能是加密连接的问题,我不知道XMLHTTP怎么设置加密连接,但是有INDY的例子。
      

  7.   

    看看Fetion的实现,有很多人在研究那个东西