Za chwilę rozpocznie się pobieranie pliku

0

Witam wszystkich,

chciałbym za pomocą skryptu zapisać adres zasobu na serwerze.Przykładowo, skrypt pobiera np. za pomocą curla stronę www. programy.pl//plik-10324-ares-3-17.html
Pod przyciskie pobierz jest adres url /plik-10324.html - wyciągam go sobie za pomocą wyrażeń regularnych.
W przeglądarce działa to tak, że jak nacisnę przycisk pobierz, to za 2-3 sekundy pojawia się okno zapisujące plik.Mi chodzi o to, żeby nawet niekoniecznie pobierać cały ten plik, a zapisać tylko jego adres url.

Pozdrawiam

0

To może podaj REALNY adres do strony, bo raczej zgadywać nie będziemy.

0
0

Używam takiego kodu:

<?php $strona = "www.programs.pl"; $url = "www.programs.pl/program,713,1.html"; $fp = fsockopen("$strona", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)
\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: $url\r\n"; $out .= "Keep-Alive: 300\r\n"; $out .= "Connection: keep-alive\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?>

Niestety zwraca w odpowiedzi 400 Bad Request.

HTTP/1.1 400 Bad Request Date: Sat, 05 Dec 2009 21:20:01 GMT Server: Apache/2 Content-Length: 312 Connection: close Content-Type: text/html; charset=iso-8859-1
Bad Request

Your browser sent a request that this server could not understand.

Proszę o pomoc.

0

W nagłowku Host podaje się tylko host, nie url. Dodatkowo powyższy kod zawsze będzie pobierać stronę główną (GET /).

0

Dzięki za cenne rady.Potrenowałem na telnecie i teraz wszystko jest git.Dla Kicoka i nava [browar]
Oto działający skrypt:

<?php
$strona = "www.programs.pl";
$url = "/pobierz,1937.html";
$fp = fsockopen("$strona", 80, $errno, $errstr, 1);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
	$out = "GET $url HTTP/1.0\r\n";
    $out .= "Host: $strona\r\n";
	$out .= "Keep-Alive: 300\r\n";
    $out .= "Connection: Keep-Alive\r\n\r\n";
    fwrite($fp, $out);
    while(!feof($fp)) { 
	echo fgets($fp, 128); 
	} 
    fclose($fp);
}
?>

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1