解决php curl获取网页内容提示405 method not allowed状态码
程序员文章站
2022-05-21 21:13:49
...
在使用php curl获取网页内容有些网站提示405 method not allowed状态码了,这个问题我分析了出问题的网站是因为ipv6而导致了,所以我们只要简单的调整一下就可以解决这个问题了,下面一起来看看吧.
1.php curl ipv4使用例子,代码如下:
上面代码在ipv4是没有任何问题了,如果在了ipv6网站就会返回405 method not allowed状态码了,那么我们查看了php手册发现只要简单的修改一下即可.
以上为我编写的一个基本curl访问的方法,因为我这里需要通过使用IPv6的方式,所以加了相应的选项,相信大家能看的明白,平时经常用到的选项上面都有出现,大家根据需要摘取.
405/Method Not Allowed,表示不支持请求的方法,这个错误不常见.
导致403错误是要是由于curl默认是用post方式进行提交访问的,post方式在此域名下是没有权限的,如我在测试www.phprm.com的时候就出现了此问题,在我修改为get的方式,并且增加了header头后,即可正常访问,个人推测,或许是亚马逊那边基本上都是采用get的方式,才会被认为是人为的点击,对post做了相应屏蔽.
ipv6增加了如下代码:
//设置Header头 $header[] = "Accept: application/json"; $header[] = "Accept-Encoding: gzip"; //添加HTTP header头采用压缩和GET方式请求 curl_setopt( $ch, CURLOPT_HTTPHEADER, $header ); curl_setopt($ch,CURLOPT_ENCODING , "gzip"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');//命令行的形式为:
curl -v www.phprm.com
IPV6下curl超时问题,代码如下:
注:curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本时,以上设置才生效.
上一篇: C#拾遗之小知识(二)
推荐阅读
-
php采用curl访问域名返回405 method not allowed提示的解决方法
-
php采用curl访问域名返回405 method not allowed提示的解决方法
-
php采用curl访问域名返回405 method not allowed提示的解决方法
-
php采用curl访问域名返回405 method not allowed提示的解决方法
-
解决php curl获取网页内容提示405 method not allowed状态码
-
php采用curl访问域名返回405 method not allowed提示的解决方法_PHP教程
-
php采用curl访问域名返回405 method not allowed提示的解决方法_PHP
-
php采用curl访问域名返回405 method not allowed提示的解决方法_PHP
-
php采用curl访问域名返回405 method not allowed提示的解决方法_php技巧
-
解决php curl获取网页内容提示405 method not allowed状态码