高分求教, 关于fsockopen的问题

coeltdit 2008-03-26 08:34:25
$fp = fsockopen("www.hao123.com", 80, &$errno, &$errstr, 10);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp,"GET / HTTP/1.0\nHost: www.hao123.com\n\n");
while(!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
这样可以得到一个网站的内容,但是没有绑定域名,只有IP地址的网站,应该怎么写? 比如我得到:
http://69.31.128.107 的内容,要怎么写?

把 www.hao123.com替换成上面的IP地址好像不行. 急,请大家帮忙. 在线等..
...全文
145 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2008-03-26
  • 打赏
  • 举报
回复

<?php
$s ='';
$fp = fsockopen("tcp://69.31.128.107", 80, &$errno, &$errstr, 30);
if(!$fp){
echo "$errstr ($errno)<br>\n";
}
else{
fputs($fp,"GET /feed?partner=9900077&ip=67.198.195.252&site=http://www.google.com&ua=ie&results=10&keyword=host HTTP/1.0\r\nHost: 69.31.128.107\r\n\r\n");
while(!feof($fp)){
$s = $s . fgets($fp,128);
}
fclose($fp);
}
$s = strstr($s, "\r\n\r\n");
echo $s;
?>
coeltdit 2008-03-26
  • 打赏
  • 举报
回复
楼上的方法非常不错.谢谢了.

能不能教我如何去掉HTTP头? 非常感谢
hookee 2008-03-26
  • 打赏
  • 举报
回复
那是另外的问题了,取回的不只是xml还有http头.
himan2002 2008-03-26
  • 打赏
  • 举报
回复
兄弟,你要自己把http头给去掉.
或者直接这样:
$content = file_get_contents( 'http://69.31.128.107/feed/?partner=9900077&ip=67.198.195.252&site=http://www.google.com&ua=ie&results=10&keyword=host' );
die( $content );
coeltdit 2008-03-26
  • 打赏
  • 举报
回复
还是出错哈,提示:

无法显示 XML 页。
使用 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。


--------------------------------------------------------------------------------

文档的顶层无效。处理资源 'http://www.xxxx.net/test.php' 时出错。第 1 行,位置: 1

HTTP/1.1 200 OK
^

hookee 2008-03-26
  • 打赏
  • 举报
回复

<?php
$fp = fsockopen("tcp://69.31.128.107", 80, &$errno, &$errstr, 30);
if(!$fp){
echo "$errstr ($errno)<br>\n";
}
else{
fputs($fp,"GET /feed?partner=9900077&ip=67.198.195.252&site=http://www.google.com&ua=ie&results=10&keyword=host HTTP/1.0\r\nHost: 69.31.128.107\r\n\r\n");
while(!feof($fp)){
echo fgets($fp,128);
}
fclose($fp);
}
?>
coeltdit 2008-03-26
  • 打赏
  • 举报
回复
楼上的不行哈:
有个提示:HTTP/1.0 404 Not Found Server: Apache/1.3.27 (Unix) PHP/5.1.2 Connection: Close Cache-Control: private, x-gzip-ok="" Date: Wed, 26 Mar 2008 05:58:39 GMT

比如我要得到http://69.31.128.107/feed?partner=9900077&ip=67.198.195.252&site=http://www.google.com&ua=ie&results=10&keyword=host 的内容,也得不到.

继续请教.
hookee 2008-03-26
  • 打赏
  • 举报
回复

<?php
$fp = fsockopen("tcp://69.31.128.107", 80, &$errno, &$errstr, 10);
if(!$fp){
echo "$errstr ($errno)<br>\n";
}
else{
fputs($fp,"GET / HTTP/1.0\r\nHost: 69.31.128.107\r\n\r\n");
while(!feof($fp)){
echo fgets($fp,128);
}
fclose($fp);
}
?>

21,893

社区成员

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

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