Witam
Potrzebuję do sklepu internetowego zrobić pobieranie statusu gdzie obecnie znajduje się paczka jest gotowe rozwi±zanie tylko niewiem jak zrobic aby dany status pobierał do zmiennej np
$zmienna1="odebranie paczki od kuriera";
$zmienna2="przesyłka w doręczeniu";
itd przy każdej zmianie statusu .
Ma kto¶ pomysł jak to zrobić ?
Taki jest kod do pobierania statusów
<?php $sslhost = "ssl://tracktrace.dpd.com.pl"; $fp = http://www.php.net/fsockopen($sslhost, 443); $lp = 0; $vars = http://www.php.net/array( 'q' => '0000162135842U', 'typ' => '1', ); $content = http_build_query($vars); http://www.php.net/fwrite($fp, "POST /findPackage HTTP/1.1\r\n"); http://www.php.net/fwrite($fp, "Host: tracktrace.dpd.com.pl\r\n"); http://www.php.net/fwrite($fp, "Content-Type: application/x-www-form-urlencoded\r\n"); http://www.php.net/fwrite($fp, "Content-Length: ".http://www.php.net/strlen($content)."\r\n"); http://www.php.net/fwrite($fp, "Connection: close\r\n"); http://www.php.net/fwrite($fp, "\r\n"); http://www.php.net/fwrite($fp, $content); ; http://www.php.net/header('Content-type: application/json'); while (!http://www.php.net/feof($fp)) { http://www.php.net/echo http://www.php.net/fgets($fp, 1024); } ?>
No i co ci zwraca
echo fgets($fp, 1024);
?
Dzięki za zainteresowanie
Zwraca statusy tylko jak je pobrać każdy do innej zmiennej
HTTP/1.1 200 OK http://www.php.net/date: Tue, 02 Jul 2019 20:40:42 GMT Content-Type: text/html;charset=UTF-8 Transfer-Encoding: chunked Connection: close Vary: Accept-Encoding Cache-Control: no-store Set-Cookie: JSESSIONID=518080~4C8FD0B47D309D4F7F5EB63357C50818; Path=/; HttpOnly cc3 <div xmlns:xs="http://www.w3.org/2001/XMLSchema" class="single-package"><input type="hidden" value="0000162135842U" class="js-waybill"><input type="hidden" value="0000162135842U" class="js-waybill-paczki"><fieldset class="compact"> <div class="form-group"><span class="label">Przesyłka</span><span class="input"><span class="input-text">0000162135842U</span></span></div> <div class="form-group"><label>Paczki w przesyłce</label><span class="input"><select name="parcel" class="custom-select"> <option value="0000162135842U">0000162135842U</option></select></span></div> <div class="form-group"><span class="label">Paczka</span><span class="input"><span class="input-text">0000162135842U </span></span></div> <div class="form-group"><span class="label">Jesteś odbiorcą? Możesz samodzielnie zarządzać przesyłką</span><span class="input"><a href="https://mojapaczka.dpd.com.pl/login?parcel=0000162135842U"> <div class="column arrow"><span class="btn--arrow-right btn--no-text"></span></div></a></span><span class="label l-info"><span class="l-info">Portal pozwala na przekierowanie, zmianę daty doręczenia, rezygnację z paczki i przekierowanie do punktu Pickup</span></span></div> <div class="js-package-details subform" style="display: none;"></div> </fieldset> <fieldset class="compact"> <h3>Historia przesyłki</h3> <div class="table-wrapper-400"> <table class="table-track"> <thead> <th>Data</th> <th>Godzina</th> <th>Opis</th> <th>Oddział</th> </thead> <tbody> <tr> <td>2019-06-18</td> <td>12:22:34</td> <td>Przesyłka doręczona <br>Odbiorca: BODZIOCH </td> <td>TAR</td> </tr> <tr> <td>2019-06-18</td> <td>07:54:07</td> <td>Wydanie przesyłki do doręczenia</td> <td>TAR</td> </tr> <tr> <td>2019-06-18</td> <td>03:26:11</td> <td>Przyjęcie przesyłki w oddziale DPD </td> <td>TAR</td> </tr> <tr> <td>2019-06-17</td> <td>21:43:30</td> <td>Przyjęcie przesyłki w oddziale DPD </td> <td>MC</td> </tr> <tr> <td>2019-06-17</td> <td>15:08:11</td> <td>Przyjęcie przesyłki w oddziale DPD </td> <td>WBA</td> </tr> <tr> <td>2019-06-17</td> <td>14:01:19</td> <td>Przesyłka odebrana przez Kuriera</td> <td>WBA</td> </tr> <tr> <td>2019-06-17</td> <td>12:35:09</td> <td>Zarejestrowano dane przesyłki, przesyłka jeszcze nienadana</td> <td></td> </tr> </tbody> </table> </div> </fieldset> 6 </div> 0
Po pierwsze sprawdz w dokumentacji czy mozna tam otrzymac zwrotke w innym formacie np. XML czy JSON. teraz masz zwrotke w html i chcac te dane wydobyc musialbys parsowac ten HTML. Generalnie i to by sie dalo w miare latwo zrobic bo statusty sa w tabeli w wierszach wiec nawet prosty preg_match_all by zalatwil sprawe no ale po co sie pieprzyc jesli mozna by dostac ladnego JSONa
Albo możesz użyć zewnętrzne api od np furgonetka.pl.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)