1、在asp網(wǎng)站上生成 xml新聞源 php中調(diào)用

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、重慶網(wǎng)站建設(shè)公司、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)成都定制網(wǎng)頁設(shè)計等服務(wù)項目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:人造霧等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致贊賞!
2、php直接遠(yuǎn)程讀取asp上的網(wǎng)頁 下面發(fā)段php遠(yuǎn)程讀取的函數(shù)
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;
}
}
$ch = curl_init();
//組裝用戶名和密碼
//模擬提交兩個數(shù)據(jù) 可以不提交
$info['username'] = $this-username;//用戶名
$info['password'] = $this-pwd;//密碼
//模擬表單提交
$params[CURLOPT_URL] = $this-url; //請求url地址
$params[CURLOPT_HEADER] = true; //是否返回響應(yīng)頭信息
$params[CURLOPT_RETURNTRANSFER] = true; //是否將結(jié)果返回
$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
$params[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';//模擬瀏覽器
$postfields = '';
//將表單要提交的數(shù)據(jù)編程URL拼接方式
foreach ($info as $key = $value){
$postfields .= urlencode($key) . '=' . urlencode($value) . '';
}
$params[CURLOPT_POST] = true;//POST方式
$params[CURLOPT_POSTFIELDS] = $postfields;
curl_setopt_array($ch, $params); //傳入curl參數(shù)
$content = curl_exec($ch); //執(zhí)行
這樣做肯定是用的你的帶寬,是把文件下載到你的服務(wù)器上,然后再下載給客戶端。
有兩條路你可以去試試看,我沒做過:一是setcookie指定域名是那個網(wǎng)站,然后轉(zhuǎn)向:
setcookie ($cname ,$cvalue ,$expire ,$path , $host);
header('location: $url");
另外一個方法類似,好像有個P3P可以傳遞COOKIE,需要你自己查資料:
setcookie ($cname ,$cvalue);
header('P3P: ....');
header('location: $url");
第二個辦法應(yīng)該是可以的,陶寶和開心網(wǎng)都在用這樣的技術(shù),陶寶有許多域名,一次登錄后都可以使用,就是利用P3P實現(xiàn)的COOKIE傳遞。
$data = file_get_contents($url);//目的頁面內(nèi)容獲取
$t = json_decode($data,1);//轉(zhuǎn)換為PHP數(shù)組
//處理...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlo);//數(shù)據(jù)發(fā)送地址
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//發(fā)送的數(shù)據(jù)數(shù)組
curl_exec($ch);
file_get_contents是可以的,
?php
echo?"meta?http-equiv='Content-Type'?content='text/html;?charset=utf-8'?/";
$m?=?file_get_contents(";client_id=319cdac7553fa298");
print_r(json_decode($m));
?
輸出結(jié)果:
可以用以下4個方法來抓取網(wǎng)站 的數(shù)據(jù):
1. 用 file_get_contents 以 get 方式獲取內(nèi)容:
?
$url = '';
$html = file_get_contents($url);
echo $html;
2. 用fopen打開url,以get方式獲取內(nèi)容
?
$url = '';
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
$result = '';
while(!feof($fp))
{
$result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);
3. 用file_get_contents函數(shù),以post方式獲取url
?
$data = array(
'foo'='bar',
'baz'='boom',
'site'='',
'name'='nowa magic');
$data = http_build_query($data);
//$postdata = http_build_query($data);
$options = array(
'http' = array(
'method' = 'POST',
'header' = 'Content-type:application/x-www-form-urlencoded',
'content' = $data
//'timeout' = 60 * 60 // 超時時間(單位:s)
)
);
$url = "";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;
4、使用curl庫,使用curl庫之前,可能需要查看一下php.ini是否已經(jīng)打開了curl擴(kuò)展
$url = '';
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
當(dāng)前題目:php抓取遠(yuǎn)程數(shù)據(jù),php抓取遠(yuǎn)程圖片到本地函數(shù)
文章分享:http://chinadenli.net/article47/dsgpjej.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、建站公司、面包屑導(dǎo)航、ChatGPT、網(wǎng)站排名、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)