Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Automatyczny restart routera Pentagram P6331-42 przy pomocy PHP
grzewoj
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.11.2010

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


Witam wszystkich, jak widać to mój pierwszy post na tym forum, od razu przejdę do rzeczy.

Chciałbym mieć możliwość restartu mojego routera jak w temacie, za pomocą wywołania skryptu PHP. Jako że przeszukałem Internet, wiem że jest mnóstwo rozwiązań, począwszy od skryptów bat, vbs, po użycie innych języków, w tym CURLa. Skoro temat już rozwiązano to czemu piszę? Problem w tym, że do użycia tego skryptu nie mogę użyć komputera a ... telewizora. Mam samsunga Le40C650 z funkcją Internet@TV. Dzięki niemu mogę oglądać mnóstwo materiałów z netu, w tym np. z Megavideo, który jak wiadomo ma limity, do ominięcia po zmianie IP. Z poziomu TV mogę uruchomić skrypt php, kieruję więc do szanownych forumowiczów pytanie, czy wogóle jest możliwe automatyczne zalogowanie do routera i jego restart lub lepiej restart samego połączenia. Dodam że logowanie do tego modemu jest zrealizowane poprzez HTTP Basic Authorization.

Dzięki za wszelkie sugestie!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kapuch
post
Post #2





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


http://www.youtube.com/watch?v=XcgQUsorF_8
Tu masz tutka jak logowac sie przez curla - sam kiedys z tego tutoriala korzystalem i dzialalo.
Jesli nie dasz sam rady, to jutro poszukam gotowego skryptu u siebie - jak nie zapomne.

EDIT: Niestety strona z opisu pod filmikiem juz nie dziala, takze jednak bede musial ci ten skrypt podeslac.
Chyba ze dasz rade z filmu przepisac (IMG:style_emoticons/default/biggrin.gif) :D:D

EDIT2:
Zgodnie z tym co obiecalem, wklejam skrypt (mimo ze autor juz sobie dal rade, ale przyda sie dla potomnych):
  1. function curl_login($url,$data,$proxy,$proxystatus){
  2. $fp = fopen("cookie.txt", "w");
  3. fclose($fp);
  4. $login = curl_init();
  5. curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
  6. curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
  7. curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  8. curl_setopt($login, CURLOPT_TIMEOUT, 40);
  9. curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
  10. if ($proxystatus == 'on') {
  11. curl_setopt($login, CURLOPT_SSL_VERIFYHOST, FALSE);
  12. curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, TRUE);
  13. curl_setopt($login, CURLOPT_PROXY, $proxy);
  14. }
  15. curl_setopt($login, CURLOPT_URL, $url);
  16. curl_setopt($login, CURLOPT_HEADER, TRUE);
  17. curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  18. curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
  19. curl_setopt($login, CURLOPT_POST, TRUE);
  20. curl_setopt($login, CURLOPT_POSTFIELDS, $data);
  21. ob_start(); // prevent any output
  22. return curl_exec ($login); // execute the curl command
  23. ob_end_clean(); // stop preventing output
  24. curl_close ($login);
  25. unset($login);
  26. }
  27.  
  28. function curl_grab_page($site,$proxy,$proxystatus){
  29. $ch = curl_init();
  30. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  31. if ($proxystatus == 'on') {
  32. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  33. curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
  34. curl_setopt($ch, CURLOPT_PROXY, $proxy);
  35. }
  36. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  37. curl_setopt($ch, CURLOPT_URL, $site);
  38. ob_start(); // prevent any output
  39. return curl_exec ($ch); // execute the curl command
  40. ob_end_clean(); // stop preventing output
  41. curl_close ($ch);
  42. }


Ten post edytował kapuch 6.11.2010, 12:58:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 03:57