【问题标题】:curl 401 Unauthorized errorcurl 401 未经授权的错误
【发布时间】:2016-05-03 13:27:02
【问题描述】:

如图所示,当我尝试运行 https://www.example.com/Push_Order.php?orderId=1562 它给了我 401 Unathorized 错误。但是当我在浏览器中运行这个 Url 时,它运行良好。

知道我的错误在哪里或我缺少什么吗?

PHP 卷曲代码

<?php

$ch = curl_init("https://www.example.com/Push_Order.php?orderId=1562");

curl_setopt($ch);

$response = curl_exec($ch);

curl_close($ch);
?>

而这个 Push_Order.php 文件只包含插入查询。

【问题讨论】:

  • 没错,你的错误是你没有代码,你当前的问题与php无关。
  • @Inurosen 文件仅包含插入查询。

标签: curl http-status-code-401 unauthorized


【解决方案1】:

您的服务器上似乎已在 Apache 中启用了授权,但您目前没有意识到这一点,因为您的浏览器正在为您缓存用户名和密码。

您必须像这样设置CURLOPT_USERPWD 选项:

<?php

$ch = curl_init("https://www.example.com/Push_Order.php?orderId=1562");

curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword");

$response = curl_exec($ch);

curl_close($ch);
?>

(空的curl_setopt($ch) 很奇怪,而且充其量只是一个空操作。)

在命令行中它应该像这样工作(包括 URL 中的用户名和密码):

curl https://myusername:mypassword@www.example.com/Push_Order.php?orderId=1562

【讨论】:

  • 是的,你是对的。我已经放置了 .httaccess 文件。谢谢!
【解决方案2】:

我的 Apache2 网络服务器确实收到了这条错误消息,我花了一些时间进行诊断,所以我想记录下任何与我研究相同问题并登陆这里的人的问题。

我错误地认为我的 Apache 运行良好,但我确实遇到了授权问题,正如消息所暗示的那样。现实情况是我的 Apache 配置文件中有语法错误。

如果本地curl 给你这个

(字符对字符相同,提供或获取 URL 和端口号,)你可能想检查你是否可以愉快地运行

service apache2 reload

在过度调查授权之前!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多