src/Autodiscover.php
public function doNTLMPost($url, $timeout = 6)
    {
        $this->reset();

        $ch = curl_init();
        $opts = array(
            CURLOPT_URL             => $url,
            CURLOPT_HTTPAUTH        => CURLAUTH_BASIC | CURLAUTH_NTLM,
            CURLOPT_CUSTOMREQUEST   => 'POST',
            CURLOPT_POSTFIELDS      => $this->getAutoDiscoverRequest(),
            CURLOPT_RETURNTRANSFER  => true,
            CURLOPT_USERPWD         => $this->username . ':' . $this->password,
            CURLOPT_TIMEOUT         => $timeout,
            CURLOPT_CONNECTTIMEOUT  => $this->connection_timeout,
            CURLOPT_FOLLOWLOCATION  => true,
            CURLOPT_HEADER          => false,
            CURLOPT_HEADERFUNCTION  => array($this, 'readHeaders'),
            CURLOPT_IPRESOLVE       => CURL_IPRESOLVE_V4,
            CURLOPT_SSL_VERIFYPEER  => true,
            CURLOPT_SSL_VERIFYHOST  => 2,
        );

        // Set the appropriate content-type.
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8'));

        if (!empty($this->cainfo)) {
            $opts[CURLOPT_CAINFO] = $this->cainfo;
        }

        if (!empty($this->capath)) {
            $opts[CURLOPT_CAPATH] = $this->capath;
        }

        if ($this->skip_ssl_verification) {
            $opts[CURLOPT_SSL_VERIFYPEER] = false;
        }

        curl_setopt_array($ch, $opts);
        $this->last_response    = curl_exec($ch);
        $this->last_info        = curl_getinfo($ch);
        $this->last_curl_errno  = curl_errno($ch);
        $this->last_curl_error  = curl_error($ch);

        if ($this->last_curl_errno != CURLE_OK) {
            return false;
        }

        $discovered = $this->parseAutodiscoverResponse();

        return $discovered;
    }
public function doNTLMPost($url, $timeout = 6)
    {
        $this->reset();

        $ch = curl_init();
        $opts = array(
            CURLOPT_URL             => $url,
            CURLOPT_HTTPAUTH        => CURLAUTH_BASIC | CURLAUTH_NTLM,
            CURLOPT_CUSTOMREQUEST   => 'POST',
            CURLOPT_POSTFIELDS      => $this->getAutoDiscoverRequest(),
            CURLOPT_RETURNTRANSFER  => true,
            CURLOPT_USERPWD         => $this->username . ':' . $this->password,
            CURLOPT_TIMEOUT         => $timeout,
            CURLOPT_CONNECTTIMEOUT  => $this->connection_timeout,
            CURLOPT_FOLLOWLOCATION  => true,
            CURLOPT_HEADER          => false,
            CURLOPT_HEADERFUNCTION  => array($this, 'readHeaders'),
            CURLOPT_IPRESOLVE       => CURL_IPRESOLVE_V4,
            CURLOPT_SSL_VERIFYPEER  => true,
            CURLOPT_SSL_VERIFYHOST  => 2,
        );

        // Set the appropriate content-type.
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml; charset=utf-8'));

        if (!empty($this->cainfo)) {
            $opts[CURLOPT_CAINFO] = $this->cainfo;
        }

        if (!empty($this->capath)) {
            $opts[CURLOPT_CAPATH] = $this->capath;
        }

        if ($this->skip_ssl_verification) {
            $opts[CURLOPT_SSL_VERIFYPEER] = false;
        }

        curl_setopt_array($ch, $opts);
        $this->last_response    = curl_exec($ch);
        $this->last_info        = curl_getinfo($ch);
        $this->last_curl_errno  = curl_errno($ch);
        $this->last_curl_error  = curl_error($ch);

        if ($this->last_curl_errno != CURLE_OK) {
            return false;
        }

        $discovered = $this->parseAutodiscoverResponse();

        return $discovered;
    }
public function doNTLMPost ( $ url , $ timeout = 6 ) { $ this -> reset ( ) ; $ ch = curl_init ( ) ; $ opts = array ( CURLOPT_URL => $ url , CURLOPT_HTTPAUTH => CURLAUTH_BASIC | CURLAUTH_NTLM , CURLOPT_CUSTOMREQUEST => 'POST' , CURLOPT_POSTFIELDS => $ this -> getAutoDiscoverRequest ( ) , CURLOPT_RETURNTRANSFER => true , CURLOPT_USERPWD => $ this -> username . ':' . $ this -> password , CURLOPT_TIMEOUT => $ timeout , CURLOPT_CONNECTTIMEOUT => $ this -> connection_timeout , CURLOPT_FOLLOWLOCATION => true , CURLOPT_HEADER => false , CURLOPT_HEADERFUNCTION => array ( $ this , 'readHeaders' ) , CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4 , CURLOPT_SSL_VERIFYPEER => true , CURLOPT_SSL_VERIFYHOST => 2 , ) ; // Set the appropriate content-type. curl_setopt ( $ ch , CURLOPT_HTTPHEADER , array ( 'Content-Type: text/xml; charset=utf-8' ) ) ; if ( ! empty ( $ this -> cainfo ) ) { $ opts [ CURLOPT_CAINFO ] = $ this -> cainfo ; } if ( ! empty ( $ this -> capath ) ) { $ opts [ CURLOPT_CAPATH ] = $ this -> capath ; } if ( $ this -> skip_ssl_verification ) { $ opts [ CURLOPT_SSL_VERIFYPEER ] = false ; } curl_setopt_array ( $ ch , $ opts ) ; $ this -> last_response = curl_exec ( $ ch ) ; $ this -> last_info = curl_getinfo ( $ ch ) ; $ this -> last_curl_errno = curl_errno ( $ ch ) ; $ this -> last_curl_error = curl_error ( $ ch ) ; if ( $ this -> last_curl_errno != CURLE_OK ) { return false ; } $ discovered = $ this -> parseAutodiscoverResponse ( ) ; return $ discovered ; }
Perform the NTLM authenticated post against one of the chosen
endpoints.

@param string $url
URL to try posting to.
@param integer $timeout
Number of seconds before the request should timeout.
@return boolean
Perform the NTLM authenticated post against one of the chosen endpoints .