Zhano | zaterdag 22 februari 2014 @ 16:29 |
Hallo,
Ik wil graag via deze link de json kunnen gebruiken in een webpagina. Deze json word terugggeven via 2 requests:
quote: en
quote: Om die requests vanuit een script te aan te kunnen spreken moet ik denk ik de requestheaders nabootsen en verzenden via cURL. Iemand die dit kan bevestigen of mij verder op weg kan helpen? |
Zhano | zondag 23 februari 2014 @ 11:26 |
Is de vraag onduidelijk of weet gewoon niemand het? Ik wil best nog wat extra uitleg geven indien nodig  |
raptorix | maandag 24 februari 2014 @ 15:24 |
Dat hangt van de technologie af die je gebruikt, toevallig van de week nog gedaan voor c#. |
Zhano | maandag 24 februari 2014 @ 18:53 |
quote: Uh het is voor een website, dus in principe gewoon in PHP of iets met Javascript oid kan ook. Maar C# ben ik ook wel enigzins mee bekend dus dan kan ik het ombouwen evt  |
KomtTijd... | maandag 24 februari 2014 @ 19:02 |
Je weet dus nog nieteens of je deze data client-side of server-side wilt opvragen? |
raptorix | maandag 24 februari 2014 @ 22:25 |
quote: Op maandag 24 februari 2014 18:53 schreef Zhano het volgende:[..] Uh het is voor een website, dus in principe gewoon in PHP of iets met Javascript oid kan ook. Maar C# ben ik ook wel enigzins mee bekend dus dan kan ik het ombouwen evt  In c# heb je een cookie container lijkt me ideaal voor deze job. |
Zhano | maandag 24 februari 2014 @ 22:54 |
quote: Ik wil het gewoon ophalen en in een db zetten. Dus het moet gewoon PHP zijn. Zo beter?  |
KomtTijd... | maandag 24 februari 2014 @ 22:58 |
Dat is duidelijke taal ja.
File_get_contents() en json_decode(), klaar is kees. |
Zhano | maandag 24 februari 2014 @ 23:52 |
quote: Is het echt zo simpel? Meestal als je de pagina niet kunt openen in een aparte tab dan moet je cookies meesturen oid. |
KomtTijd... | dinsdag 25 februari 2014 @ 10:28 |
Check example #4 in de docs van file_get_contents() |
Zhano | dinsdag 25 februari 2014 @ 13:42 |
quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php $current_timestamp = time();
$url = "https://secure.us.playstation.com/playstation/psn/public/trophies/?onlineId=GuRBuH&_=$current_timestamp"; echo $url;
// Create a stream $opts = array( 'http'=>array( 'method'=>"GET", 'header'=> 'Host: secure.us.playstation.com', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0' , 'Accept: application/json, text/javascript, */*; q=0.01', 'Accept-Language: nl,en-us;q=0.7,en;q=0.3' , 'Accept-Encoding: gzip, deflate', 'X-Requested-With: XMLHttpRequest', 'Referer: https://secure.us.playstation.com/logged-in/trophies/public-trophies/', 'Cookie: s_fid=425A5955E17B360A-196F604376D8888B; WT_FPC=id=62.163.244.107-2110227456.30347414:lv=1393143189864:ss=1393143180651; s_vi=[CS]v1|296A1F508530BD13-40000302803D9A2C[CE]; eucookiepreference=accept; portalLocaleCookie=nl_NL; VISITORID=1168525022; s_vi=[CS]v1|296A1F508530BD13-40000302803D9A2C[CE]; APPLICATION_SITE_URL=http%3A//us.playstation.com/uwps/404.jsp; mbox=PC#1391892878237-345728.26_02#1394532752|check#true#1393323212|session#1393323151352-840816#1393325012; s_pers=%20s_nr%3D1393323163816-Repeat%7C1424859163816%3B%20s_pv%3Dbutton%253Ago%253AGuRBuH%253Atrophy-search%253Apdc%253Apscom%253Alogged-in%253Atrophies%253Apublic-trophies%7C1393324963825%3B; __utma=1.1151713224.1391892880.1393077682.1393283195.7; __utmz=1.1393077682.6.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); __utma=1.115171324.1391892880.1393077682.1393283195.7; __utmz=1.1393077682.6.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); SONYCOOKIE1=289227952.20480.0000; s_sess=%20s_cc%3Dtrue%3B%20s_ppv%3D97%3B%20s_sq%3D%3B; __utmb=1.1.10.1393323152; __utmc=1; oo_original_visit=1', 'Connection: keep-alive') );
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above var_dump(file_get_contents($url, false, $context));
?> |
Doe ik hier iets heel raars dan? Deze code stopt nooit met uitvoeren... Ik heb ook op internet gezocht hoe anderen dit doen, maar nergens vind ik iets nuttigs (wat nog werkt) dus het lijkt me echt sterk dat het zo makkelijk zou zijn... |
KomtTijd... | dinsdag 25 februari 2014 @ 13:46 |
Geen idee, ik neem aan dat je in de api documentatie kunt vinden welke headers je mee moet sturen. Dat je code time-out, komt waarschijnlijk omdat de server geen antwoord geeft. |
Zhano | dinsdag 25 februari 2014 @ 14:57 |
quote: Op dinsdag 25 februari 2014 13:46 schreef KomtTijd... het volgende:Geen idee, ik neem aan dat je in de api documentatie kunt vinden welke headers je mee moet sturen. Dat je code time-out, komt waarschijnlijk omdat de server geen antwoord geeft. Welke API? Er is geen API, daarom moet het zo omslachtig. Het leek me dat dit wel duidelijk bleek uit mijn originele vraag...  |
KomtTijd... | dinsdag 25 februari 2014 @ 15:20 |
Er is geen API? Wat staat er dan onder die URL? Geen JSON? |
Zhano | dinsdag 25 februari 2014 @ 15:30 |
quote: Er is geen openbare API. Wel is er de mogelijkheid om via deze site: https://secure.us.playsta(...)ies/public-trophies/ je eigen trophies te checken of die van een ander door de gamertag in te vullen. Deze pagina doet vervolgens 2 requests via javascript naar de server en returnt de json en die word weer op de pagina weergegeven. Maar in principe is het niet de bedoeling dat je daar iets mee doet. |
xzaz | dinsdag 25 februari 2014 @ 16:12 |
quote: Op dinsdag 25 februari 2014 15:30 schreef Zhano het volgende:[..] Er is geen openbare API. Wel is er de mogelijkheid om via deze site: https://secure.us.playsta(...)ies/public-trophies/ je eigen trophies te checken of die van een ander door de gamertag in te vullen. Deze pagina doet vervolgens 2 requests via javascript naar de server en returnt de json en die word weer op de pagina weergegeven. Maar in principe is het niet de bedoeling dat je daar iets mee doet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Antwoordheaders Connection Keep-Alive Content-Language en Content-Type application/json; charset=UTF-8 Date Tue, 25 Feb 2014 15:11:29 GMT Keep-Alive timeout=30, max=37 Server Apache Transfer-Encoding chunked X-Powered-By Servlet/2.5 JSP/2.1 Verzoekheaders Accept application/json, text/javascript, */*; q=0.01 Accept-Encoding gzip, deflate Accept-Language nl,en-US;q=0.7,en;q=0.3 Cookie SONYCOOKIE1=694462656.20480.0000; mbox=session#1393340971928-573059#1393342915|PC#1393340971928-573059.26_21#1394550655|check#true#1393341115; oo_original_visit=1; s_sess=%20s_cc%3Dtrue%3B%20s_ppv%3D100%3B%20s_sq%3Dsceaplaystationprod%253D%252526pid%25253Dbutton%2525253Ago%2525253Akiller%2525253Atrophy-search%2525253Apdc%2525253Apscom%2525253Alogged-in%2525253Atrophies%2525253Apublic-trophies%252526pidt%25253D1%252526oid%25253Dfunctiononclick(event)%2525257Bjavascript%2525253AcheckPTrophies()%2525253B%2525257D%252526oidt%25253D2%252526ot%25253DA%3B; s_pers=%20s_nr%3D1393341089485-New%7C1424877089485%3B%20s_pv%3Dbutton%253Ago%253Akiller%253Atrophy-search%253Apdc%253Apscom%253Alogged-in%253Atrophies%253Apublic-trophies%7C1393342889486%3B; __utma=1.589194619.1393340973.1393340973.1393340973.1; __utmb=1.2.10.1393340973; __utmc=1; __utmz=1.1393340973.1.1.utmcsr=forum.fok.nl|utmccn=(referral)|utmcmd=referral|utmcct=/topic/2078734; s_vi=[CS]v1|29865917051D3602-4000014BA003C67D[CE]; oo_inv_percent=0; oo_inv_hit=1; JSESSIONID=2vmpTMyLs1yLsK3K89dqbW0QtLMCb0GyhgHMyTSp5yKv1v4Q2mtT!594706017 Host secure.us.playstation.com Referer https://secure.us.playstation.com/logged-in/trophies/public-trophies/ User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 X-Requested-With XMLHttpRequest |
|
Zhano | dinsdag 25 februari 2014 @ 16:32 |
quote: Jongens, leuk dat jullie wat random dingetjes posten enzo maar als je er even bij verteld wat je bedoelt is dat wel zo handig. De request- en responseheaders had ik zelf ook al gevonden en 'nagemaakt' maar daar kom ik niet verder mee. Ik verwacht heus geen stap voor stap handleiding ofzo, maar als je even duidelijk maakt wat je punt is dan kom ik daar een stuk verder mee  |