以下代码在我的 Windows 计算机上运行,但相同的代码在我的服务器上不起作用。我的服务器平台是Linux。
我得到的错误是:
Status Code: 401 Result: HTTP/1.1 401 Unauthorized
我的代码:
<?php
try {
$username = 'mXXXX';
$password = 'SyXXX';
$URL = 'http://svt-srv-nav.synovergetech.com:7047/DynamicsNAV90/WS/SMCSPL/Page/Customer';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$result = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code
curl_close($ch);
//var_dump($result);
$obj = simplexml_load_string($result);
echo "<pre>";
print_r($obj);
echo "</pre>";
}catch (Exception $e) {
echo $e->getMessage();
}
最佳答案
授权在linux服务器中启用尝试添加正确的用户名和密码
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword");
关于php - 我需要调用一个在 Windows 中工作但在 Linux 中不起作用的 API,我收到 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59369889/