关于file_get_contents()伪装的问题!

xjf1978 2009-01-07 09:43:57
现在有些网站需要识别访问的是否为客户端浏览器。如果不是的话,用file_get_contents()获取的内容就为他们的版权信息。如何能将file_get_contents()伪装下。就像Curl函数那样。因为好多空间都不允许用Curl函数。或者有其他很好的办法。非常感谢!
...全文
367 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongbing529 2009-01-10
  • 打赏
  • 举报
回复
换stream试试看.呵呵。
dubiousway 2009-01-10
  • 打赏
  • 举报
回复
看http协议,明白对话的过程,就会自己写类似于curl的东西了。如ls所说
macleane 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xjf1978 的回复:]
引用 3 楼 macleane 的回复:
自己写socket也不是太麻烦,想冒充什么浏览器都行


具体怎么做,给个思路。没做过这个,还不太懂。从哪里入手,或参考哪方面的资料
[/Quote]

你看看fsockopen()函数和读写函数的文档,另外了解下HTTP协议。下面是PHP手册上的例子,具体的就是改动HTTP请求头里的参数:


<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
xjf1978 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fxs_2008 的回复:]
查一下手册中文件流的应用
可用file_get_contents()流实现,即第二或第三个参数
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

构造 resource content

但file_get_contents()可能不能保存对方发过来的信息
[/Quote]

有没有例子给写个,手头没有手册。
另外,不能保存是什么意思!
xjf1978 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 macleane 的回复:]
自己写socket也不是太麻烦,想冒充什么浏览器都行
[/Quote]

具体怎么做,给个思路。没做过这个,还不太懂。从哪里入手,或参考哪方面的资料
Zijian_Zhang 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 xjf1978 的帖子:]
现在有些网站需要识别访问的是否为客户端浏览器。如果不是的话,用file_get_contents()获取的内容就为他们的版权信息。如何能将file_get_contents()伪装下。就像Curl函数那样。因为好多空间都不允许用Curl函数。或者有其他很好的办法。非常感谢!
[/Quote]使用Socket,用fsockopen自己搞个,冒充什么都行,但是好像一些空间也是不支持的,呵呵。
an9ryfr09 2009-01-07
  • 打赏
  • 举报
回复
你用curl或socket自己伪造USER_AGENT不就行了?

file_get_contents没那么强的功能。
jim8590251 2009-01-07
  • 打赏
  • 举报
回复
晕,不懂..
guosheng1987 2009-01-07
  • 打赏
  • 举报
回复
不懂这个。帮顶
macleane 2009-01-07
  • 打赏
  • 举报
回复
自己写socket也不是太麻烦,想冒充什么浏览器都行
fxs_2008 2009-01-07
  • 打赏
  • 举报
回复
查一下手册中文件流的应用
可用file_get_contents()流实现,即第二或第三个参数
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

构造 resource content

但file_get_contents()可能不能保存对方发过来的信息
hqaht 2009-01-07
  • 打赏
  • 举报
回复
好像没什么办法,和虚拟主机提供商协调一下吧

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧