Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: XML - kody pocztowe / Poczta Polska
Forum PHP.pl > Forum > PHP
blady007
witam!

dlaczego nie mogę pobrać pliku XML z odpowiedzią - adresami urzędów pocztowych.
Adres
http://www.poczta-polska.pl/eprzesylka/dan...p?pnaodb=43-300

w pnaodb podajemy kod pocztowy.
Ale w/w adres zwróci nam plik XML jeśli w innej zakładce przeglądarki otworzymy wcześniej stronę (http://www.poczta-polska.pl/eprzesylka), z której zagarnąłem w/w info smile.gif
Można wtedy nawet otworzyć inną przeglądarkę i
http://www.poczta-polska.pl/eprzesylka/dan...p?pnaodb=43-300
zwróci nam xml-a

Nie bardzo to czaję - bo inna przeglądarka to już mało ma związku z sesją itp. informacjami z pierwszej przeglądarki.

Dokładniej to chcę użyć to na swoim serwerze w skrypcie PHP. Tam wyślę odpowiednie nagłówki z żądaniem do w/w serwera.
No ale na razie nie wiem jak i co dlaczego nie działa...
Jak obejść to cudo ażeby działało zawsze na moim serwerze bez konieczności włączania strony poczty (nawet w iframie lub innym divie itp).
Dziękuję za sugestie.
cycofiasz
Witam. Na innej przeglądarce również trzeba najpierw wejść na http://www.poczta-polska.pl/eprzesylka/ by móc pobierać xml-e.
Ciastko z http://www.poczta-polska.pl/eprzesylka/ jest więc wymagane.
blady007
no tak przeglądałem nagłówki w firefoxie i widziałem tam zwracane ciacho
Cookie: PHPSESSID=a702b88148335a708eeb782a040ee4db

No i bez włączonych ciach nie działa. No ale co ja mogę z tym począć? Skąd wziąć cookie. Musze się wpierw połączyć ze strona
http://www.poczta-polska.pl/eprzesylka

....
cycofiasz
No tak, najlepiej użyć do tego zadania curl. Jeśli zapytanie z kodem pocztowym nie zwróci xmla to należy wywołać ów stronę i ponownie zapytanie o xmla - ot taka optymalizacja
blady007
Już wiem czego chcę/potrzebuję.
Jest to PHPSESSID z serwera poczty. Niestety nie mam zielonego pojęcia jak to uczynić. Oczywiście użwam CURL-a.

Próbuje się połączyć ze stroną
http://www.poczta-polska.pl/eprzesylka/

i zapisać cookie z PHPSESSID u siebie na serwerze, czyli:
curl_setopt($curl_handle, CURLOPT_COOKIEJAR, 'cookie.txt');

niestety, nic się nie dzieje. Jest to głównie spowodowane kodem błędu
"301 Moved Permanently"
Jakieś pomysły? Błąd ten spowodowany jest zapewne tym że próbuje u siebie na serwerze odpalić google maps bez odpowiedniego API key.
Ale zdobyłem go, zamieszczam go w kodzie i próbuję podmienić ich key na mój podczas zwracania przez CURL-a strony

ob_start();
echo curl_exec($curl_handle);
$retrievedhtml = ob_get_contents();
ob_end_clean();

niestety bez sukcesu - nie mam cookiego z PHPSESSID sad.gif

No mówiąc w sposób jasny, jak w poprzednim poście uczynił to kolega, muszę wywołać ich stronę u siebie na serwerze - niby proste smile.gif
pablo89pl
a po co:
ob_start();
echo curl_exec($curl_handle);
$retrievedhtml = ob_get_contents();
ob_end_clean();

jak mozna

$retrievedhtml = curl_exec($cur_handle) ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.