Zadejte hledaný výraz...

Česká pošta, sledování zásilek

Martin Knor
verified
rating uzivatele
(3 hodnocení)
4. 9. 2008 00:40:00
Ahoj, řeším takový problémek...chci na webu přímo u objednávky zákazníkovi poskytnout možnost sledovat zásilku, ale zasekl jsem se na tom, že když data doluju ze stránek pošty, tak ke mě dojdou v anglické podobě...napadá někoho něco?
Zobrazení na stránkách pošty:
Informace o zásilce:
* Zásilka tohoto podacího čísla není v evidenci.
Prohnáno přes funkci:
function infoPosta($cisloZasilky)
{
if ($strankyPosty = file_get_contents("http://www.cpost.cz/jetspeed/portal/media-type/html/user/anon/page/default.psml/js_pane/sluzbyonline,sledovanibaliku?tntId=$cisloZasilky"))
{
preg_match ("/
(.+?)
/sim", $strankyPosty, $vysledek);
return $vysledek;
}
else
{
return "Nelze načíst informce o zásilce.";
}
}
Vysledek:
Information about Delivery:
* There is no data in our evidence for this item.
4. 9. 2008 00:40:00
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121152
Martin
verified
rating uzivatele
(36 hodnocení)
4. 9. 2008 00:45:59
Zaměř se na hlavičku accept-language.
4. 9. 2008 00:45:59
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121151
Martin Knor
verified
rating uzivatele
(3 hodnocení)
4. 9. 2008 01:06:11
A jak bych měl tu hlavičku zakomponovat do mé funkce tak, aby to jelo?
4. 9. 2008 01:06:11
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121150
Jakub Stacho
verified
rating uzivatele
(20 hodnocení)
4. 9. 2008 01:34:45
Doporučuji sosat přes cURL. Funkcí curl_setopt pak můžeš nastavit spoustu věcí, posílat data v POST nebo třeba přiložit ty hlavičky.
Pokud se přesto chceš držet file_get_contents, tak to jde nastavit přes context ale je to dost neohrabané...
4. 9. 2008 01:34:45
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121149
Milan Kryl
verified
rating uzivatele
(26 hodnocení)
4. 9. 2008 07:56:37
Jinak co se týká přímo sledování zásilek od ČP - aby to nepřineslo víc zmatku než užitku. :)
Osobně jsem takhle měl sledovanou jednu zásilku a i když na webu měli týden, že je připravena k vyzvednutí, tak nebyla... ;)
4. 9. 2008 07:56:37
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121148
Martin Knor
verified
rating uzivatele
(3 hodnocení)
4. 9. 2008 10:22:40
Díky za radu tracy, přes cURL to jede parádně, jenom se bojím toho že toto rozšíření nebude podporovat můj hosting....ale to už se snad nějak pořeší. Co se týče samotného sledování, tak vím že s tím měla pošta dřív hodně problémy, ale teď už to jede snad spolehlivě (mé zkušenosti)...
4. 9. 2008 10:22:40
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121147
Martin Knor
verified
rating uzivatele
(3 hodnocení)
4. 9. 2008 10:37:43
Takže cURL na hostingu bohužel nezprovozním, tak Vám tu dám alespoň výsledek mého snažení:
1. pomocí cURL
function infoPostaNew($cisloZasilky)
{
$url='http://www.cpost.cz/jetspeed/portal/media-type/html/user/anon/page/default.psml/js_pane/sluzbyonline,sledovanibaliku?tntId='.$cisloZasilky;
$ch = curl_init($url);
$headers = array();
$headers[] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$headers[] = "Accept-Language: cs";
$headers[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$html = curl_exec($ch);
curl_close($ch);
preg_match ("/
(.+?)
/sim", $html, $vysledek);
return $vysledek;
}
2. pomocí stream_context_create
function infoPostaNewNew($cisloZasilky)
{
$url='http://www.cpost.cz/jetspeed/portal/media-type/html/user/anon/page/default.psml/js_pane/sluzbyonline,sledovanibaliku?tntId='.$cisloZasilky;
$options = array
('http'=>array
(
'method'=>"POST",
'header'=>"Accept-language: csrn"."Content-type: application/x-www-form-urlencodedrn",
'content'=>http_build_query(array('foo'=>'bar'))
)
);
$ctx = stream_context_create($options);
$html=file_get_contents($url,false,$ctx);
$odstran=preg_match ("/
(.+?)
/sim", $html, $vysledek);
return $vysledek;
}
4. 9. 2008 10:37:43
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121146
tomekson.com
verified
rating uzivatele
(2 hodnocení)
4. 9. 2008 11:37:48
Tohle nepomůže?
4. 9. 2008 11:37:48
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121145
Martin Knor
verified
rating uzivatele
(3 hodnocení)
4. 9. 2008 12:02:39
Napsal tomekson.com;108960
Tohle nepomůže?
To bohužel nepomůže...jak už bylo řečeno, stránky volí jazyk podle hlavičky
4. 9. 2008 12:02:39
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121144
Milan Kryl
verified
rating uzivatele
(26 hodnocení)
4. 9. 2008 14:23:07
fsockopen na hostingu taky nefunguje?
4. 9. 2008 14:23:07
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121143
Martin Knor
verified
rating uzivatele
(3 hodnocení)
4. 9. 2008 17:32:05
ten by měl fungovat, je to lepší než file_get_contents? případně proč?
4. 9. 2008 17:32:05
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121142
Milan Kryl
verified
rating uzivatele
(26 hodnocení)
4. 9. 2008 23:13:31
file_get_contents může být zakázaný častěji - z toho, co jsi psal výše jsem pochopil, že ti ani curl ani file_get_contents nefungoval :) tak jsem navrhl alternativu.
4. 9. 2008 23:13:31
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121141
KEnik
verified
rating uzivatele
26. 8. 2010 15:09:41
Díky
Dnes již mají jinou url posílám upravený kod
function infoPostaNewNew($cisloZasilky)
{
$url='http://cpost.cz/cz/nastroje/sledovani-zasilky.php?locale=CZ&send.x=0&send.y=0&send=submit&go=ok&barcode='.$cisloZasilky;
$options = array
('http'=>array
(
'method'=>"POST",
'header'=>"Accept-language: csrn"."Content-type: application/x-www-form-urlencodedrn",
'content'=>http_build_query(array('foo'=>'bar'))
)
);
$ctx = stream_context_create($options);
$html=file_get_contents($url,false,$ctx);
$odstran=preg_match ("/

Informace(.+?)/sim", $html, $vysledek);
return $vysledek;
}

26. 8. 2010 15:09:41
https://webtrh.cz/diskuse/ceska-posta-sledovani-zasilek#reply121140
Pro odpověď se přihlašte.
Přihlásit