gpt4 book ai didi

php - curl - SPNEGO 无法找到协商机制

转载 作者:IT王子 更新时间:2023-10-29 00:22:27 25 4
gpt4 key购买 nike

我正在尝试将 php-curl 与 Microsoft Web 服务一起使用:这是我的代码(使用 wamp 在 Windows 10 上工作):

<?php

$location = "http://10.0.100.19:7058/FOLDER12013/OData/Company('TEST')/WS_Clienti";
$handle = curl_init($location);

$credentials = 'CPGNET\username:password';
$action =


$proxy = '11.22.33.44:8123';
$headers = [
'Method: GET',
'User-Agent: PHP-SOAP-CURL',
'Content-Type: text/xml; charset=utf-8',
];


// Authentication
curl_setopt($handle, CURLOPT_HTTPAUTH, CURLAUTH_NTLM | CURLAUTH_BASIC | CURLAUTH_GSSNEGOTIATE | CURLAUTH_ANY);
curl_setopt($handle, CURLOPT_USERPWD, $credentials);

curl_setopt($handle, CURLINFO_HEADER_OUT, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($handle, CURLOPT_PROXY,$proxy);

$response = "";
echo("<pre>");
$response = curl_exec($handle);

$url_info = curl_getinfo($handle);

print_r($url_info);

echo(htmlentities($response));
echo("</pre>");

当我尝试从 centos 7(或 ubuntu 15)使用此代码时,出现错误 401 unautorized。 Php、curl、libcurl 在 windows 和 linux 上具有相同的版本(并且所有扩展都与 phpinfo 相同)。所以,我正在尝试使用 linux 中的 curl:

curl --negotiate -u "CPGNET\username:password" --proxy 11.22.33.44:8123 "http://10.0.100.19:7058/FOLDER12013/OData/Company('TEST')/WS_Clienti" -v

但是我有一个错误:

* gss_init_sec_context() failed: : SPNEGO cannot find mechanisms to negotiate

请有人帮助我。我不明白为什么在 Linux 上这不起作用。谢谢

最佳答案

一个有点老的问题,但是......

可能是您在通过 curl 的 gssapi 进行 ntlm 身份验证时遇到了问题。请查看以下链接:

关于php - curl - SPNEGO 无法找到协商机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31959814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com