【问题标题】:Remote server not allowing cURL远程服务器不允许 cURL
【发布时间】:2015-11-27 13:54:54
【问题描述】:

我通过以下代码通过 cURL 向服务器发送请求,它给出的权限错误为“Apache/2.4.16 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 Server”。 cURL 代码是...

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $my_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "key=".$my_key);
curl_setopt($ch,CURLOPT_REFERER, site_url()); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);    
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
return $res;

请任何人指导我什么是错误,或者我应该怎么做才能解决问题。 非常感谢。

【问题讨论】:

  • 您发送的标头是什么?也许服务器正在使用您发送的标头过滤某些内容。
  • 这就是全部,我没有发送任何其他内容,这段代码在函数中,我正在调用函数。
  • 错误信息是什么?
  • 尝试设置一个用户代理,看看它是否有效。 curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0');
  • 这是我收到的错误 您无权访问此服务器上的 /my_admin/class_name/function_name。 Apache/2.4.16 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 服务器在 domain_url 端口 80 请求接收者是 codeignitor

标签: php curl


【解决方案1】:

该错误似乎与SSLhttps 请求有关。您可以通过添加以下行来忽略验证:

 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

【讨论】:

  • 我已经添加了,并且上面发布了标题,但没有成功。使用 print_r 结果出现此错误.....您无权访问此服务器上的 /my_admin/class_name/function_name。 Apache/2.4.16 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 服务器在 domain_url 端口 80 请求接收者是 codeignitor
  • Codeigniter 出于安全目的阻止直接脚本访问。您是否可以通过浏览器访问在 CURL 中传递的 URL?
  • 是的,当我手动点击该 URL 时,它会给我 json 的结果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-31
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
相关资源
最近更新 更多