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; 
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; 
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]