I parse a parameter to a php file and try to get json with file_get_contents().
This is my Code:
< ?php
$url = $_GET['url'];
$url = urldecode($url);
$json = file_get_contents($url, true);
echo($json);
? >
This is the called URL:
http://vimeo.com/api/v2/channel/photographyschool/videos.json
This is a part of my result:
[{"id":40573637,"title":"All For Nothing - \"Dead To Me\" & \"Twisted Tongues\""}]
And so on… So everything is escaped. There are even \n in the result.
Since I neet to work afterwards with the json (in js), I need a non escaped version!
Interesting thing is, that my code works for example with this json:
http://xkcd.com/847/info.0.json
What is my problem?
If you just want to proxy/forward the response then just echo it as it is with the correct Content-Type header:
Tho you have to be very wary of the url passed as it could cause XSS!
And as the API is slow/resource hungry you should cache the result or at least save it in a session so its not repeated on each page load.