您的位置:

关于php抓取asp页面,php抓取网页数据

本文目录一览:

关于php抓取asp网页

curl_setopt($ch,CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0');

加一行这个参数试试!!

PHP抓取网页信息后模拟登录,网站是asp的,然后就有时候出现了这个问题,该怎么解决呢?

那是你抓去的网页程序的问题 和你这里没有关系 你用浏览器访问也一样的结果的

php如何远程调用asp网站数据

1、在asp网站上生成 xml新闻源 php中调用

2、php直接远程读取asp上的网页 下面发段php远程读取的函数

function get_content($url)

{

$buf=parse_url($url);

if($buf['scheme']=="http")//如果是URL

{

$host=$buf['host'];

$page=$buf['path'];

if(trim($buf['query'])!=="") $page.="?".trim($buf['query']);

$myHeader="GET $url HTTP/1.1\r\n";

$myHeader.="Host: $host\r\n";

$myHeader.="Connection: close\r\n";

$myHeader.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";

$myHeader.="Accept-Language: zh-cn,zh;q=0.5\r\n";

$myHeader.="Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7\r\n";

$myHeader.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6) Gecko/20050226 Firefox/1.0.1 Web-Sniffer/1.0.20\r\n";

$myHeader.="Referer: \r\n\r\n";

$server=$host;

$port=80;

$res="";

if(false!==($fp = @fsockopen ($server, $port, $errno, $errstr, 30)))

{

@fputs ($fp, $myHeader);

while (!@feof($fp)) $res.= @fgets ($fp, 1024);

@fclose ($fp);

}

else return false;

if(strlen($res)==0) return false;

return $res;

}

else//如果是本地文件

{

$fileName=$url;

if(false!==@file_exists($fileName))

{

if(false!==($buf=@implode("",file($fileName)))@strlen($buf)0)

{

return $buf;

}

else return false;

}

else return false;

}

}