Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] jak otrzymać JSON z odpowiedzi ze strony?, brak strony do wyświetlenia
Rozpalacz
post 24.02.2014, 14:56:01
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 31.01.2006

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


Opiszę po krótce:

gdy w trybie debug w Chrome wejdę na stronę http://gruper.pl/warszawa i na samym dole klikne na guzik: "Więcej ofert" zobaczę że wysyłany jest GET na adres:
http://gruper.pl/DataProvider.php?cityId=5...true&page=1
w odpowiedzi (RESPONSE) przesyłany jest JSON:

[{"ID_PAGE":"59199","ID_CITY":"3952","main_city":"3952","date_start":"2014-02-23 18:00:00","date_end":"2014-03-01 23:59:00","price":"387","price_original":"775","discount":"50","icon":"","icon_desc":"","headline":"............ itd

Czy jest jakis sposób by otrzymać tylko taką odpowiedź? Gdy w przeglądarce wejdę na stronę: http://gruper.pl/DataProvider.php?cityId=5...true&page=1
dostaje pustą stronę. A w PHP dostaję błąd: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found

Mój kod poniżej:

  1. <?php
  2.  
  3. $url = 'http://gruper.pl/DataProvider.php?cityId=51&categoryId=0&mainNaviId=1&showBTile=true&page=1';
  4.  
  5. // use key 'http' even if you send the request to https://...
  6. $options = array(
  7. 'http' => array(
  8. 'header' => "Content-type: application/x-www-form-urlencoded\r\n" .
  9. "Accept:application/json\r\n" .
  10. "Accept-Encoding:gzip,deflate,sdch\r\n" .
  11. "X-Requested-With:XMLHttpRequest\r\n",
  12. 'method' => 'GET'
  13. ),
  14. );
  15.  
  16. $context = stream_context_create($options);
  17. $result = (file_get_contents($url, false, $context));
  18.  
  19. ?>
  20.  
  21. <html>
  22. <head>
  23. <meta charset="UTF-8">
  24. </head>
  25. </html>


Temat do zamknięcia. Rozwiązane.
Go to the top of the page
+Quote Post
Turson
post 24.02.2014, 15:01:06
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Podziel się rozwiązaniem, gdyby ktoś później potrzebował tego samego.
Go to the top of the page
+Quote Post
Rozpalacz
post 25.02.2014, 15:21:24
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 31.01.2006

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


Z jednej strony za bardzo a z drugiej za mało odtworzony header.

powinno być tylko:
Kod
X-Requested-With: XMLHttpRequest
Referer: http://gruper.pl/warszawa


Próbowałem odtworzyć wszystko za dokładnie smile.gif
Poniższy kod działa.
Kod
<?php

$url = 'http://gruper.pl/DataProvider.php?cityId=51&categoryId=0&mainNaviId=1&showBTile=true&page=1';

// use key 'http' even if you send the request to https://...
$options = array(
    'http' => array(
        'header' => "X-Requested-With: XMLHttpRequest\r\n" .
                    "Referer: http://gruper.pl/warszawa"
    )
);

$context  = stream_context_create($options);
$result = (file_get_contents($url, false, $context));

echo $result;

?>

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: 13.08.2025 - 22:37