stiahnutie php stranok s dotazom

Programovacie jazyky, rady, poradňa...
nordscan
Star
Star
Príspevky: 510
Registrovaný: 27 okt 2005, 1:15
Bydlisko: orawa
Kontaktovať používateľa:

stiahnutie php stranok s dotazom

Príspevok od používateľa nordscan »

HI,

pokial tato tema tu nepatri, poprosim presunut inam :)

mam stranku, ktorej vysledok vyhladavania potrebujem stiahnut, problemom pre mna je ze je to odosielanie formou POST (mam taky pocit)

a tak mi nefunguje zadavanie url vo forme ako napr tu:

google.sk/search?hl=sk&q=test&btnG=H%C4%BEada%C5%A5+v+Google&meta=

google.sk/search?hl=sk&q=test1&btnG=H%C4%BEada%C5%A5+v+Google&meta=
.
.
.
lebo url je:

xxx.sk/tra/?f4547d155f032e9b1bdede77689bf4e8

a vyhladavaci retazec napr:
trstr=test&trtype=ecz&act%5Btrsearch%5D=%3E

pokial by mi niekto vedel poradit budem rad

thnx
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ak to naozaj používa POST, budeš musieť použiť fsockopen... (už sa tu o tom písalo), alebo knižnicu CURL (ak máš také rozšírenie v php nainštalované).
DomCZo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 235
Registrovaný: 16 okt 2006, 22:49

Príspevok od používateľa DomCZo »

Ahoj, ja som tu tu riesil davnejsie na rapidshare. Uz to sice nan nefunugje, ale inak by to malo ist. Staci upravit $host, $path a Array POSTov vo $formdata ("name" => "value").

Daj vediet

Kód: Vybrať všetko

<?php


$host = "ul23.rapidshare.com";
$port = 80;
$path = "/files/2024261/car-rzr.part01.rar"; //or .dll, etc. for authnet, etc.

//you will need to setup an array of fields to post with
//then create the post string
$formdata = array("dl.start" => "Free");
//build the post string
foreach($formdata AS $key => $val)
{
	$poststring .= urlencode($key) . "=" . urlencode($val) . "&";
}
// strip off trailing ampersand
$poststring = substr($poststring, 0, -1);

$fp = fsockopen("".$host, $port, $errno, $errstr, $timeout = 30);

if(!$fp)
{
	//error tell us
	echo "$errstr ($errno)\n";
}
else
{
	//send the server request
	fputs($fp, "POST $path HTTP/1.1\r\n");
	fputs($fp, "Host: $host\r\n");
	fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
	fputs($fp, "Content-length: ".strlen($poststring)."\r\n");
	fputs($fp, "Connection: close\r\n\r\n");
	fputs($fp, $poststring . "\r\n\r\n");

	//loop through the response from the server
	while(!feof($fp))
	{
		echo fgets($fp, 4096);
	}
	//close fp - we are done with it
	fclose($fp);
}


?>
Napísať odpoveď