Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Status paczki DPD
ZenekN
post 25.06.2016, 11:41:41
Post #1





Grupa: Zarejestrowani
Postów: 395
Pomógł: 5
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


Cześć, jak najszybciej rozwiązaniem uzyskać status paczki czy to w postaci tablicy php czy json?
  1. file_get_contents('https://tracktrace.dpd.com.pl/parcelDetails?p1=0000009782383S');


i dalej regex ?

Ten post edytował ZenekN 25.06.2016, 11:52:10
Go to the top of the page
+Quote Post
viking
post 25.06.2016, 11:45:28
Post #2





Grupa: Zarejestrowani
Postów: 5 644
Pomógł: 961
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Możesz skorzystać z api furgonetka.pl.


--------------------
Go to the top of the page
+Quote Post
ZenekN
post 25.06.2016, 11:49:02
Post #3





Grupa: Zarejestrowani
Postów: 395
Pomógł: 5
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


ok, chciałem bezpośrednio
Go to the top of the page
+Quote Post
viking
post 25.06.2016, 12:39:54
Post #4





Grupa: Zarejestrowani
Postów: 5 644
Pomógł: 961
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jak sobie lubisz utrudniać życie (zwłaszcza że sprawdzanie nie wymaga logowania).
Próbowałeś post do https://tracktrace.dpd.com.pl/findPackage ? W odpowiedzi jest HTML ze statusem.
A skoro HTML to funkcje DOM, na pewno nie REGEX.


--------------------
Go to the top of the page
+Quote Post
ZenekN
post 27.06.2016, 07:16:13
Post #5





Grupa: Zarejestrowani
Postów: 395
Pomógł: 5
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


ok działa z furgonetki, a orientujesz się jakie zmienne trzeba wysłać bezpośrednio do dpd ?



  1. <?php
  2.  
  3. $method = 'getTracking';
  4. $format = 'xml';
  5.  
  6. $service = 'dpd';
  7. $package_no = '000000978dd2383S';
  8.  
  9. $url = "http://furgonetka.pl/api/$method.$format?service=$service&package_no=$package_no";
  10.  
  11. $xml = simplexml_load_file($url);
  12.  
  13. $status = $xml->getName();
  14.  
  15. if ($status == 'success') {
  16. print_r($xml->tracking);
  17. } elseif ($status == 'error') {
  18. foreach($xml->error as $error) {
  19. if(isset($error->field)) {
  20. echo $error->field .': ';
  21. }
  22. echo $error->message;
  23. }
  24. } else {
  25. echo 'Blad komunikacji';
  26. }
  27.  
  28. ?>


Ładnie zwraca info, zastanawiam się co tutaj z tym dalej zrobić smile.gif

  1. <?php
  2.  
  3.  
  4. $sslhost = "ssl://tracktrace.dpd.com.pl";
  5.  
  6.  
  7. $fp = fsockopen($sslhost, 443);
  8.  
  9. $vars = array(
  10. 'q' => '0000009782383S',
  11. 'typ' => '1',
  12. );
  13. $content = http_build_query($vars);
  14.  
  15. fwrite($fp, "POST /findPackage HTTP/1.1\r\n");
  16. fwrite($fp, "Host: tracktrace.dpd.com.pl\r\n");
  17. fwrite($fp, "Content-Type: application/x-www-form-urlencoded\r\n");
  18. fwrite($fp, "Content-Length: ".strlen($content)."\r\n");
  19. fwrite($fp, "Connection: close\r\n");
  20. fwrite($fp, "\r\n");
  21.  
  22. fwrite($fp, $content);
  23. ;
  24. header('Content-type: application/json');
  25. while (!feof($fp)) {
  26. echo fgets($fp, 1024);
  27.  
  28.  
  29.  
  30.  
  31. }
  32.  
  33. ?>


Odpowiedź
  1.  
  2.  
  3.  
  4.  
  5.  
  6. HTTP/1.1 200 OK
  7. Date: Mon, 27 Jun 2016 06:15:27 GMT
  8. Pragma: no-cache
  9. Expires: Thu, 01 Jan 1970 00:00:00 GMT
  10. Cache-Control: no-cache
  11. Cache-Control: no-store
  12. Content-Type: text/html;charset=UTF-8
  13. Set-Cookie: JSESSIONID=07f93c94ea751206e4de4aec3f78.055100; Path=/; HttpOnly
  14. Content-Length: 2941
  15. Connection: close
  16.  
  17. <input xmlns:xs="http://www.w3.org/2001/XMLSchema" type="hidden" value="0000009782383S" class="js-waybill"><input xmlns:xs="http://www.w3.org/2001/XMLSchema" type="hidden" value="0000009782383S" class="js-waybill-paczki"><fieldset xmlns:xs="http://www.w3.org/2001/XMLSchema" class="compact">
  18. <div class="form-group"><span class="label">Przesyłka</span><span class="input"><span class="input-text">0000009782383S</span></span></div>
  19. <div class="form-group"><label>Paczki w przesyłce</label><form method="post" class="js-parcels-combo-form" action="#"><span class="input"><select name="parcel" class="custom-select">
  20. <option value="0000009782383S" selected>0000009782383S</option></select></span></form>
  21. </div>
  22. <div class="form-group"><span class="label">Paczka</span><span class="input"><span class="input-text">0000009782383S</span></span></div>
  23. <div class="form-group "><span class="label">Kwota pobrania przy doręczeniu</span><span class="input input-text">145,00&nbsp;
  24. PLN</span></div>
  25. <div class="form-group"><span class="label l-info">Uruchom czat z konsultantem infolinii</span><span class="input input-text"><span class="btn--arrow-down btn--no-text js-consult"></span><span class="btn--arrow-up btn--no-text js-consult-hide" style="display: none;"></span></span><br><span class="label l-info"><span class="l-info">Opcja dostępna od poniedziałku do piątku w godzinach 8:00-20:00 i w sobotę 8:00-14:00</span></span></div>
  26. <div class="js-package-captcha" style="display: none;"></div>
  27. <div class="subform js-package-captcha" style="display: none;">
  28. <p>Aby uruchomić czat z konsultantem, należy uzupełnić poniższe pola</p>
  29. <div class="form-group"><span class="js-incorrect-postal-code" style="display: none;">*</span><span class="label">Kod pocztowy odbiorcy</span><span class="input"><input class="js-postal-code" type="text" name="post-code" maxlength="10"></span></div>
  30. <div class="form-group"><span class="js-incorrect-captcha" style="display: none;">*</span><span class="label">Przepisz kod z obrazka</span><span class="input input-captcha"><img class="js-captcha-img"><input type="text" name="captcha" class="js-captcha-input" maxlength="5"></span></div>
  31. <div class="form-group"><button type="button" class="btn-submit js-solve-captcha">PokaĹź</button></div><span class="js-incorrect-legend" style="display: none;">*
  32. pole uzupełnione nieprawidłowo.
  33. </span></div>
  34. <div class="js-package-details subform" style="display: none;"></div>
  35. </fieldset>
  36. <fieldset xmlns:xs="http://www.w3.org/2001/XMLSchema" class="compact">
  37. <h3>Historia przesyłki</h3>
  38. <div class="table-wrapper-400">
  39. <table class="table-track">
  40. <thead>
  41. <th>Data</th>
  42. <th>Godzina</th>
  43. <th>Opis</th>
  44. <th>Oddział</th>
  45. </thead>
  46. <tbody></tbody>
  47. </table>
  48. </div>
  49. </fieldset>
  50.  
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.05.2020 - 22:23