[ stex @ 19.04.2010. 21:50 ] @
| U mysql tabeli imam neke linkove tipa action=NestoBezVeze&id=3... itd. Kako da taj link izvrsim, izlaz prebacim u neku promenjivu, a da se ne prikaze u browseru (da nema outputa)?
Na primer (znam da je ovo pogresno samo dajem primer):
$data = header('Location: http://localhost/index.php?action=NestoBezVeze&id=3... itd');
ob_start ne radi za header, a fopen mi samo vraca sadrzaj sa http://localhost/index.php. |
[ Tudfa @ 19.04.2010. 22:12 ] @
Ne znam jel sam dobro razumeo, ali mozda
file_get_contents()
[ stex @ 19.04.2010. 22:41 ] @
Isto kao i sa fopen. Prikaze samo sadrzaj sa localhost. Ne izvrsi akciju action=NestoBezVeze&id=3 itd.
[ Borg Collective @ 20.04.2010. 01:30 ] @
Pokusaj sa curl (
http://php.net/manual/en/book.curl.php)
ps. ovo sa get_file_contents nisam testirao, ali mi je cudno da ne radi.
[ Goran Rakić @ 20.04.2010. 10:55 ] @
Nedovoljno informacija da ti bilo ko pomogne.
Da li je to stranica koju korisnik traži sa tvog sajta pa ti hoćeš da umesto da vratiš rezultat zadržiš sve u promenljivoj pre ispisa (output buffering) ili su to neki linkovi sa kojih želiš da pročitaš sadržaj stranice (crawler)?
Da li ti linkovi možda traže kolačiće, sesiju ili neke podatke prenete kroz HTTP POST ili ne?
Moguće da ciljni sajt (ako link nije ka tvom sajtu) proverava odakle posetilac dolazi ili koji preglednik koristi pa ako podaci ne odgovaraju preusmerava na početnu stranicu.
Ne razumem ovaj primer sa header() funkcijom, kao ni tvoju opasku za ob_start. header() služi da pošalješ dodatno HTTP zaglavlje, na primer odgovor o HTTP grešci ili url stranice na koju privremeno preusmeravaš (Location: ). U tvom primeru ona ništa ne dovlači sa tog linka, već šalje poruku korisniku da je sadržaj dostupan na tom drugom linku.
[ stex @ 20.04.2010. 11:29 ] @
>ili su to neki linkovi sa kojih želiš da pročitaš sadržaj stranice (crawler)?
Bas to. Hteo sam da taj sadrzaj imam u neku promenjivu, a da se taj sadrzaj ne prikaze u browser. Nema sesije, kolacica i sl.
header procita sadrzaj stranice kako treba ali nemogu da ga prebacim u promenjivu, a i uvek se prikaze u browseru.
fopen i get_file_contents ne vrate sadrzaj kako treba, ne izvrse akciju u linku.
Medjutim, izgleda da je curl to sto mi treba. Nesto sam probao na brzaka i cini mi se da je to to.
[ Goran Rakić @ 20.04.2010. 11:40 ] @
Kao što rekoh, header() apsolutno ništa ne čita. Jedino što header('Location: ...') uradi jeste da u tvoj preglednik pošalje instrukciju za redirekciju na zadati link.
file_get_contents() i fopen/read moraju da imaju omogućen allow_url_fopen (obično to jeste slučaj). Nakon toga upit (query string, ono iza ?) moraš propisno da kodiraš za slučaj da ima razmake ili ne-ascii karaktere.
libcurl je napredniji mogućnostima od file_get_contents, omogućava paralelno preuzimanje i veću kontrolu.
[ Nikola Poša @ 20.04.2010. 13:52 ] @
Bilo je već sličnih tema, mogao si malo da pretražiš forum pre otvaranja ove teme. Npr.:
http://www.elitesecurity.org/t385064-0
http://www.elitesecurity.org/t344117-0
[ stex @ 20.04.2010. 17:31 ] @
Citat:
Goran Rakić: file_get_contents() i fopen/read moraju da imaju omogućen allow_url_fopen (obično to jeste slučaj). Nakon toga upit (query string, ono iza ?) moraš propisno da kodiraš za slučaj da ima razmake ili ne-ascii karaktere.
E to je bio problem. Sva resenja su radila ali sam u url imao jedno prazno mesto pa mi je to pravilo problema. A url kilometarski pa nisam ni video.
Hvala
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.