grunshaw Posted September 20, 2009 Share Posted September 20, 2009 Hi guys, I'm guessing most (or at least a lot) of people will have some knowledge of the SHOUTcast administration interface. Basically, what I am doing is building an admin interface that each DJ has a login for, so, I dont want to give out the administration login details for the server, but I want to be able to have DJs kick the Auto DJ source. The link looks like this http://djcp.co.uk:8000/admin.cgi?mode=kicksrc The code I have so far is like this <? $url="http://djcp.co.uk:8000/admin.cgi?mode=kicksrc"; // The usual - init a curl session and set the url $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $base_url); // Set your login and password for authentication curl_setopt($ch, CURLOPT_USERPWD, 'admin:xxxxxxx'); // You can use CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, // CURLAUTH_NTLM, CURLAUTH_ANY, and CURLAUTH_ANYSAFE // // You can use the bitwise | (or) operator to combine more than one method. // If you do this, CURL will poll the server to see what methods it supports and pick the best one. // // CURLAUTH_ANY is an alias for CURLAUTH_BASIC | CURLAUTH_DIGEST | // CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM // // CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | // CURLAUTH_NTLM // // Personally I prefer CURLAUTH_ANY as it covers all bases curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // This is occassionally required to stop CURL from verifying the peer's certificate. // CURLOPT_SSL_VERIFYHOST may also need to be TRUE or FALSE if // CURLOPT_SSL_VERIFYPEER is disabled (it defaults to 2 - check the existence of a // common name and also verify that it matches the hostname provided) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Optional: Return the result instead of printing it curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // The usual - get the data and close the session $data = curl_exec($ch); curl_close($ch); ?> I thought this might work ouf of the box (obviously substituting the relevant variables), but it doesn't, it just hangs. Is there any way I can simplify this at all? Tahnks in advance James. Link to comment https://forums.phpfreaks.com/topic/174926-solved-php-curl-to-kick-shoutcast-source/ Share on other sites More sharing options...
redarrow Posted September 21, 2009 Share Posted September 21, 2009 i think it be better using mysql theo, this way you can see what dj online now and statics. Link to comment https://forums.phpfreaks.com/topic/174926-solved-php-curl-to-kick-shoutcast-source/#findComment-922046 Share on other sites More sharing options...
grunshaw Posted September 21, 2009 Author Share Posted September 21, 2009 I think you may have miss-understood me. I am building a DJ Control panel for the station, this is what contains different actions that different levels of users can execute. MySQL does not answer my question for what I want to do. I'm already using MySQL for the control panel to store user details and show details so I can display them on the main page so users visiting hte site can see who is on air. what I want to do is to be able to kick the source from the admin panel that I am creating, thats why I need help with the segment of code above to make it work. James. Link to comment https://forums.phpfreaks.com/topic/174926-solved-php-curl-to-kick-shoutcast-source/#findComment-922182 Share on other sites More sharing options...
grunshaw Posted September 21, 2009 Author Share Posted September 21, 2009 Ok...with much research and looking at this in a different way after seeing a different script, i have managed to acheive what I wanted. So, here for the other people that may find this useful is what i have now done. I scrapped the cURL idea and use fsockopen instead. $timeout = 5; $pass="xxxxxxxxx"; $ip="12.34.56.78"; $port="8080"; $fp = @fsockopen($ip, $port, &$errno, &$errstr, $timeout); if($fp) { fputs($fp,"GET /admin.cgi?pass=".$pass."&mode=kicksrc HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n"); echo "Success, Source kicked. <a href='home.php'>Go Back</a>"; } I hope someone else can find use in this snippet. Link to comment https://forums.phpfreaks.com/topic/174926-solved-php-curl-to-kick-shoutcast-source/#findComment-922440 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.