当前位置:  开发笔记 > 编程语言 > 正文

curl给出403错误?

如何解决《curl给出403错误?》经验,为你挑选了2个好方法。

我正在尝试从MediaWiki登录页面为我的phpBB论坛设置一个cookie.登录wiki成功后使用钩子,我想运行一个设置cookie的php脚本.

当我独立运行或使用GET时,脚本可以运行,但出于安全考虑,我想要POST到脚本.为此,我认为curl这是最好的选择.

不幸的是,即使是这样的基本脚本:

curl_setopt($ch, CURLOPT_URL, "http://www.example.com/ForumLogin.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);

给我一个403 Forbidden错误.robots.txt中没有应该干扰的规则.我还能尝试使脚本工作,还是有其他方法可以从MediaWiki中运行脚本?



1> coderama..:

对于我的特定项目,如果发生错误,服务器将抛出403错误,但仍返回数据.所以为了解决这个问题,我这样做了:

curl_setopt($ch, CURLOPT_FAILONERROR, 0); // Fail on errors

如果禁用失败的错误,您可能仍会获得一些数据.希望有所帮助.



2> Rushyo..:

我怀疑这样做的理由是明确停止自动行为 - 反机器人或一般安全措施.您可能希望查看目标站点的源代码并检查任何此类度量 - 快速搜索"403"的代码可能会提供一些见解.甚至可能是POST请求在该上下文中不合法 - 因此出于安全原因而被阻止.

顺便说一句,我不确定你的意思是"出于安全考虑".POST不比GET更安全.他们都受到同样严格的审查.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有