基本身份验证无法使用cUrl

时间:2018-01-09 09:26:28

标签: php curl

我面临着一种奇怪的情况。我使用cUrl将数据发布到远程服务器,服务器需要使用$ username和$ password进行基本的HTTP身份验证。 POSTable数据位于$ postargs

$process = curl_init();
curl_setopt($process,CURLOPT_URL,$url);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $postargs);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, true);
$return = curl_exec($process);
curl_close($process);

当我转到http://example.com cURL返回" 401 Uauthorized"来自远程服务器的消息。 当我转到http://www.example.com时,它正确地验证了我但是远程服务器没有读取POSTed字段!我做了一个" print_r($ _ POST)"在远程服务器上,即使调用服务器上的$ postargs设置正确,它也会打印一个emtpty数组。为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

你的机器上安装了cUrl吗?这是最常见的情况之一。

如果是,那么你的curl_init()很有可能出现问题。你应该使用var_dump()来调试它。

如果您需要阅读有关它的内容,请使用此link