<?php session_start(); // Make sure to validate and cleanse this and stuff. $songID = $_POST['song']; // Load up API wrapper require "gsAPI.php"; $gsapi = new gsAPI('API-USERNAME', 'API-KEY'); gsAPI::$headers = array("X-Client-IP: " . $_SERVER['REMOTE_ADDR']); // Session caching stuff if (isset($_SESSION['gsSession']) && !empty($_SESSION['gsSession'])) { $gsapi->setSession($_SESSION['gsSession']); } else { $_SESSION['gsSession'] = $gsapi->startSession(); } if (!$_SESSION['gsSession']) { die("noSession"); } if (isset($_SESSION['gsCountry']) && !empty($_SESSION['gsCountry'])) { $gsapi->setCountry($_SESSION['gsCountry']); } else { $_SESSION['gsCountry'] = $gsapi->getCountry(); } if (!$_SESSION['gsCountry']) { die("noCountry"); } // Make request to Grooveshark and return data as JSON $streamInfo = $gsapi->getStreamKeyStreamServer($songID, false); echo json_encode($streamInfo);