php cURL被禁用 我想用curl来获取某个网站的内容,可是最近这个网站禁用了curl。 file_get_contents等函数都屏蔽了。ajax、iframe又不能获得跨域内容想问下还有什么办法可以得到呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用curl自定义user-agent, 设置为某款浏览器的UA比如, 使用FireFox的UA请求百度主页: curl -A 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0.1 FirePHP/0.7.1' http://www.baidu.com用tcpdump观察发送的HTTP请求头:GET / HTTP/1.1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0.1 FirePHP/0.7.1Host: www.baidu.comAccept: */*原理解释:http是一个文本协议, 服务端能够判定你的客户端是什么, 是通过User-Agent来确认的, 而一般的http客户端工具比如curl, 是支持自定义UA的, 因此, 可以完全的蒙蔽服务端. 我猜他的意思是说服务器给禁用了curl的扩展吧... fsockopen或者pfsockopen是否可用呢?如果没有的话可以用他们啊!!! 我想用curl来获取某个网站的内容,可是最近这个网站禁用了curl。这个意思应该是说目标网站服务器端禁用了吧 呵呵呵 这里好多帖子有时候你会发现理解的不是那个意思.碰过太多次了,好多时候都要去猜是啥意思。按照他的意思的话 网站怎么能禁用curl呢,curl是啥咱们都清楚...所以就只能猜,他究竟想描述什么。 呵呵, 你说的是不过网站是可以禁用CURL的, 根据UA snoopy试了一下,也被禁用了,一些流文件都被禁用,头痛中 本帖最后由 PhpNewnew 于 2012-10-03 10:50:54 编辑 敝公司就是禁curl的ua的伪造ua即可 curl 默认发送的ua是什么内容呢?如果有那的确是可以,不过也是比较多余的,大约稍微有点经验的人都知道这个东西是可以随意改.话说回来单纯这么禁就没啥意义了. 也不是多余。有一次高峰期php有点撑不住,禁了curl之后马上就不抛502了………… $ curl -v http://www.baidu.com* About to connect() to www.baidu.com port 80 (#0)* Trying 61.135.169.125... connected* Connected to www.baidu.com (61.135.169.125) port 80 (#0)> GET / HTTP/1.1> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5> Host: www.baidu.com> Accept: */*> 如上, User-Agent即为默认的curl产生UA 那就是可以针对curl了.那么针对网站限制curl是成立的。 其实楼主一直都没有说明是他程序所在服务器禁用了 curl 之类的函数还是他想抓取的页面所在的服务器做了限制如果是前者,那可以费点事在家里抓好在传上去如果是后者,那么只要目标页面还能用浏览器访问到,就总是可以模拟的诸如 USERAGENT、REFERER、COOKIE 等等 楼主的意思就没表达清楚。真正的原因是他的服务器禁用了curl,所以他用不了。对方服务器禁用CURL的话,只会影响对方服务器上的脚本无法使用CURL函数。至于判断UA,来决定是否禁用CURL,表示目前还没发现有这样的网站。因为UA轻松就可以模拟成任何东西。综上所述,楼主的意思是他的PHP用不了CURL。 服务器禁用curl,那还模拟什么啊。 php mysql查询问题,求救 诚聘英才 关于动态载入页面的问题 php错误信息 SmartTemplate 循环3行2列 从数据库 读取数据 Mysql返回当天的记录,最优化的语句是什么? 动态写下拉菜单。谢谢 哪位大侠可以讲解一下那些可以换风格模板论坛是什么原理,怎样实现的啊? 关于安全方面的问题 preg_replace改写preg_replace_callback的问题 wp-trackback.php jpgraph图像在html页面无法显示
比如, 使用FireFox的UA请求百度主页:
curl -A 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0.1 FirePHP/0.7.1' http://www.baidu.com用tcpdump观察发送的HTTP请求头:
GET / HTTP/1.1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0.1 FirePHP/0.7.1
Host: www.baidu.com
Accept: */*
原理解释:
http是一个文本协议, 服务端能够判定你的客户端是什么, 是通过User-Agent来确认的, 而一般的http客户端工具比如curl, 是支持自定义UA的, 因此, 可以完全的蒙蔽服务端.
如果没有的话可以用他们啊!!!
我想用curl来获取某个网站的内容,可是最近这个网站禁用了curl。这个意思应该是说目标网站服务器端禁用了吧
按照他的意思的话 网站怎么能禁用curl呢,curl是啥咱们都清楚...所以就只能猜,他究竟想描述什么。
呵呵, 你说的是不过网站是可以禁用CURL的, 根据UA
snoopy试了一下,也被禁用了,一些流文件都被禁用,头痛中
伪造ua即可
* About to connect() to www.baidu.com port 80 (#0)
* Trying 61.135.169.125... connected
* Connected to www.baidu.com (61.135.169.125) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
> Host: www.baidu.com
> Accept: */*
> 如上, User-Agent即为默认的curl产生UA
是他程序所在服务器禁用了 curl 之类的函数
还是他想抓取的页面所在的服务器做了限制如果是前者,那可以费点事在家里抓好在传上去
如果是后者,那么只要目标页面还能用浏览器访问到,就总是可以模拟的
诸如 USERAGENT、REFERER、COOKIE 等等