Para poder manipular los links de lo que hayamos obtenido usando cualquiera de los metodos mencionados podemos usar este codigo. En este caso usaré
file_get_contents()
Código PHP:
Ver original<?php
function extract_links($html) {
preg_match_all('/<a\s+.*?href=[\"\']?([^\"\' >]*)[\"\']?[^>]*>(.*?)<\/a>/i', $html,$matches,PREG_SET_ORDER
); foreach($matches as $match) {
$links[] = array($match[1],$match[2]); }
return $links;
}
$links = extract_links($html);
foreach ($links as $link) {
echo $link[0] . PHP_EOL;
}
?>
Para bajar un archivo usando
cURL se puede lograr de esta forma
Código PHP:
Ver original<?php
$url = 'http://www.example.com/hola.zip';
}
Para bajar un archivo usando
file_get_contents se puede lograr de esta forma
Código PHP:
Ver original<?php
$url = "http://www.example.com/zip.zip";
Para leer un sitio web que verifica si es un navegador o no el que trata de ver la página web y solo despliega la información si es un navegador el que visita el sitio, puedes tratar el siguiente código
file_get_contents
Código PHP:
Ver original<?php
$options = array('http' => array( 'header' => 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6' . PHP_EOL
) );
echo $page;
cURL
Código PHP:
Ver original<?php
curl_setopt($ch,CURLOPT_USERAGENT
,'Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6'); echo $page;
Un ejemplo lo pueden ver en este tema [url]http://www.forosdelweb.com/f18/enigma-con-paginasamarillas-500-internal-server-error-833165/[/url]
Enviar petición, con la mayoría de las cabeceras que envían los navegadores
file_get_contents
Código PHP:
Ver original<?php
$options = array('http' => 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6',
'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'Cache-Control: max-age=0',
'Connection: keep-alive',
'Keep-Alive: 300',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Accept-Language: en-us,en;q=0.5',
'Pragma: ',
)
)
);
echo $page;
cURL
Código PHP:
Ver original<?php
$header[] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: "; // browsers keep this blank.
curl_setopt($ch, CURLOPT_URL
,'http://www.example.com'); curl_setopt($ch, CURLOPT_USERAGENT
, 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)'); echo $page;
Para autenticar, por ejemplo htpasswd se puede lograr de esta forma
Código PHP:
Ver original<?php
$url = "http://example.com/authenticate.php";
echo $data;
Este fue tomado del siguiente tema [url]http://www.forosdelweb.com/f18/obtener-sitioweb-mediante-curl-metodos-http-956656/[/url]