Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CURL NTML身份验证可以从命令行进行,但不能使用php脚本_Php_Curl - Fatal编程技术网

CURL NTML身份验证可以从命令行进行,但不能使用php脚本

CURL NTML身份验证可以从命令行进行,但不能使用php脚本,php,curl,Php,Curl,我需要调用.NETWeb服务。此web服务需要NTLM身份验证。为此,我编写了一些使用NTLM身份验证的代码。我正在尝试使用curl与NTLM身份验证进行连接。但是从php脚本中我得到了401错误。我尝试了不同的标题内容(xml和html)。请帮忙 $url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl"; $user = 'kofax'; $password = 'Ja

我需要调用.NETWeb服务。此web服务需要NTLM身份验证。为此,我编写了一些使用NTLM身份验证的代码。我正在尝试使用curl与NTLM身份验证进行连接。但是从php脚本中我得到了401错误。我尝试了不同的标题内容(xml和html)。请帮忙

$url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";

    $user = 'kofax';
    $password = 'Jagadish6^';

    $parameters=array();

    class Emp {
      public $user  = "";
      public $password   = "";
   }
   $e = new Emp();
   $e->user = $user ;
   $e->password   = $password ;

    $parameters['user']=$e;
    $parameters=json_encode($parameters);

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'Content-type: application/x-www-form-urlencoded'
    ));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output=curl_exec($ch);

    if($output === false)
    {
        echo "Error Number:".curl_errno($ch)."<br>";
        echo "Error String:".curl_error($ch);
    }
    curl_close($ch);

    $obj = json_decode($output, TRUE);
下面是正在工作的命令行。

curl http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl -v --ntlm --negotiate -u kofax:Jagadish6^
$url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";

    $user = 'kofax';
    $password = 'Jagadish6^';

    $parameters=array();

    class Emp {
      public $user  = "";
      public $password   = "";
   }
   $e = new Emp();
   $e->user = $user ;
   $e->password   = $password ;

    $parameters['user']=$e;
    $parameters=json_encode($parameters);

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'Content-type: application/x-www-form-urlencoded'
    ));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output=curl_exec($ch);

    if($output === false)
    {
        echo "Error Number:".curl_errno($ch)."<br>";
        echo "Error String:".curl_error($ch);
    }
    curl_close($ch);

    $obj = json_decode($output, TRUE);
下面是我的PHP脚本,它不工作

$path = 'http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl';
$user = 'kofax';
$password = 'Jagadish6^';

$ch = curl_init($path);

$headers = array();
$headers[] = 'Accept: text/xml';
$headers[] = 'Content-Type: text/xml';

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_setopt($ch, CURLOPT_USERPWD, $user.':'.$password);

$result = curl_exec($ch);

print_r(curl_getinfo($ch));
echo curl_error($ch);
curl_close($ch);
var_dump($result);
$url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";

    $user = 'kofax';
    $password = 'Jagadish6^';

    $parameters=array();

    class Emp {
      public $user  = "";
      public $password   = "";
   }
   $e = new Emp();
   $e->user = $user ;
   $e->password   = $password ;

    $parameters['user']=$e;
    $parameters=json_encode($parameters);

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'Content-type: application/x-www-form-urlencoded'
    ));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output=curl_exec($ch);

    if($output === false)
    {
        echo "Error Number:".curl_errno($ch)."<br>";
        echo "Error String:".curl_error($ch);
    }
    curl_close($ch);

    $obj = json_decode($output, TRUE);
输出如下所示

$url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";

    $user = 'kofax';
    $password = 'Jagadish6^';

    $parameters=array();

    class Emp {
      public $user  = "";
      public $password   = "";
   }
   $e = new Emp();
   $e->user = $user ;
   $e->password   = $password ;

    $parameters['user']=$e;
    $parameters=json_encode($parameters);

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'Content-type: application/x-www-form-urlencoded'
    ));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output=curl_exec($ch);

    if($output === false)
    {
        echo "Error Number:".curl_errno($ch)."<br>";
        echo "Error String:".curl_error($ch);
    }
    curl_close($ch);

    $obj = json_decode($output, TRUE);
)

$url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";

    $user = 'kofax';
    $password = 'Jagadish6^';

    $parameters=array();

    class Emp {
      public $user  = "";
      public $password   = "";
   }
   $e = new Emp();
   $e->user = $user ;
   $e->password   = $password ;

    $parameters['user']=$e;
    $parameters=json_encode($parameters);

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'Content-type: application/x-www-form-urlencoded'
    ));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output=curl_exec($ch);

    if($output === false)
    {
        echo "Error Number:".curl_errno($ch)."<br>";
        echo "Error String:".curl_error($ch);
    }
    curl_close($ch);

    $obj = json_decode($output, TRUE);
string'
401-未经授权:由于凭据无效,访问被拒绝。
请试一试

$url="http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";

    $user = 'kofax';
    $password = 'Jagadish6^';

    $parameters=array();

    class Emp {
      public $user  = "";
      public $password   = "";
   }
   $e = new Emp();
   $e->user = $user ;
   $e->password   = $password ;

    $parameters['user']=$e;
    $parameters=json_encode($parameters);

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept: application/json',
    'Content-type: application/x-www-form-urlencoded'
    ));
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $output=curl_exec($ch);

    if($output === false)
    {
        echo "Error Number:".curl_errno($ch)."<br>";
        echo "Error String:".curl_error($ch);
    }
    curl_close($ch);

    $obj = json_decode($output, TRUE);
$url=”http://qtskofaxweb01.etch.com/TotalAgility/Services/Sdk/JobService.svc?wsdl";
$user='kofax';
$password='Jagadish6^';
$parameters=array();
类电磁脉冲{
public$user=“”;
public$password=“”;
}
$e=新的Emp();
$e->user=$user;
$e->password=$password;
$parameters['user']=$e;
$parameters=json_encode($parameters);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_HTTPHEADER,数组(
'接受:应用程序/json',
'内容类型:application/x-www-form-urlencoded'
));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
$output=curl\u exec($ch);
如果($output==false)
{
echo“错误号:”.curl\u errno($ch)。“
”; echo“Error String:.curl_Error($ch); } 卷曲关闭($ch); $obj=json_decode($output,TRUE);
谢谢@jaydeep,但现在我得到的是空白页。输出变量中没有任何内容。