Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Klikanie w link na innej stronie, Po stronie wew.
kayy
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Witam,

sytuacja jest taka: mam router, którego "strona administracji" to 192.168.0.1, po podaniu username i password (tak jakbyśmy przez przeglądarkę logowali się na ftp), chcę aby skrypt "klikną" trzy różne linki. Nie są one generowane dynamicznie więc zawsze będą w tym samym położeniu.

Próbowałem szukać ale przy mojej koncepcji na słowa kluczowe znajduje tylko propozycje płatnego klikania w linki...




Może to już nie przedszkole ale nie jestem pewny, więc może jakiś guru mi pomoże?
Go to the top of the page
+Quote Post
jareeny
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


A treść linku zawsze jest taka sama? Jeżeli tak to po prostu użyj cURL'a :]
Go to the top of the page
+Quote Post
kayy
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Tak, jest taka sama.

Nie wiem jak zalogować się curlem  w to okienko co wyskakuje (Tak jakbym logował się przez przeglądarkę do ftp) ;/
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~kayy, a nie wystarczyłby Ci RouterControl? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cytat
Nie wiem jak zalogować się curlem w to okienko co wyskakuje (Tak jakbym logował się przez przeglądarkę do ftp) ;/

To jest autoryzacja HTTP, curl_setopt" title="Zobacz w manualu PHP" target="_manual: CURLOPT_USERPWD.
Go to the top of the page
+Quote Post
kayy
post
Post #5





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Ok, potrzebuje kliknąć w link, albo jakoś inaczej wywołać skrypt js.

  1. <?php
  2. $curl = curl_init();
  3.  
  4.  
  5. curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  6. curl_setopt($curl, CURLOPT_USERPWD, 'admin:password');
  7. curl_setopt($curl, CURLOPT_URL, "http://192.168.0.1/cgi/dial/");
  8.  
  9.  
  10. curl_exec($curl);
  11. curl_close($curl);
  12. ?>



Tym wyświetlam to co chcę.
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Ok, potrzebuje kliknąć w link

To zwyczajnie ustawiasz jego linka w adresie docelowym cURL.

Cytat
albo jakoś inaczej wywołać skrypt js

No, tego cURL-em nie zrobisz... Zostaje już chyba tylko wywołanie AJAX, ale i tak będzie problem, gdyż nie będą się zgadzały domeny.
Go to the top of the page
+Quote Post
kayy
post
Post #7





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Ten link jest w js (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)




W takim razie nie da się tego zrobić? no trudno, przeżyję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzięki.

A może da się zrobić aby przefiltrować treść i wyświetlić tylko słowa "Disconnect" lub "Connect"?

Ten post edytował kayy 22.01.2009, 22:27:19
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
A może da się zrobić aby przefiltrować treść i wyświetlić tylko słowa "Disconnect" lub "Connect"?

preg_match" title="Zobacz w manualu PHP" target="_manual

Cytat
wyświetlić tylko słowa "Disconnect" lub "Connect"?

Domyśliłem się, o co chodzi; sprawdzałeś, czy działa Ci Router Control?`
Go to the top of the page
+Quote Post
kayy
post
Post #9





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Ja mam ubuntu a to chyba jest pod winde?!

btw. Łącze się z neostradą jak z normalną siecią, nie przez te specjalne programiki ;p a to może dlatego, że jestem połączony z routerem nie bezpośrednio, tylko za 3 switchami ;D tj. mogę zresetować ip tylko przez stronę routera ;>

W sumie to ten curl nic mi nie daje bo przy kliknięciu w disconnect nic się nie dzieje tj. nie wywołuje java scriptu... Buu a chciałem oszczędzić sobie 2 klików ;<

Ten post edytował kayy 22.01.2009, 22:42:10
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Ja mam ubuntu a to chyba jest pod winde?!

Ale możesz chyba odpalić przez Wine, nie? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cytat
btw. Łącze się z neostradą jak z normalną siecią, nie przez te specjalne programiki ;p

Ten program jest właśnie stworzony w tym celu. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Używam go z Linksysem i śmiga (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

OK, koniec off-topa. ;P
Go to the top of the page
+Quote Post
kayy
post
Post #11





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Hehe, tego programu jakoś nie mogę znaleźć (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ale znalazłem jeszcze jedną opcję jak mogę go zresetować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Kod
#telnet 192.168.0.1

#admin

#password

#system

#reboot


Czy dzięki php mogę jakoś telnetować się i wpisywać komendy?

-edit
Ok, znalazłem ciekawą klasę i powoli mi wychodzi (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
-edit2
Nie wiem czy to przez tą klasę czy telnet będzie zawszę w php tak wolno chodził?

-edit3

Hmm... Napisałem i niby działa ale nie działa... Pisze, że zrestartował ale nic się nie stało... 

Nie wiem jaki dać komunikat aby czekał po poleceniu reboot, bo zwykle to jest 25 sekund i reboot się zrobi a w telnecie tylko miga kursor, a jak nacisnę coś to mnie wyrzuca...




Daję tutaj klasę + mój skrypt.

http://www.nomorepasting.com/getpaste.php?pasteid=23690 - klasa

http://www.nomorepasting.com/getpaste.php?pasteid=23691 - skrypt




Bardzo bym prosił o pomoc!

Ten post edytował kayy 23.01.2009, 14:01:55
Go to the top of the page
+Quote Post
ddiceman
post
Post #12





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


  1. <?php
  2. $telnet->write("reboot");
  3. $limitSekund = 30;
  4.  
  5. for($i = 0; $i<$limitSekund; $i++){
  6.    if($telnet->socket){ echo "Zresetowano"; break; }
  7.        else               { echo "Trwa resetowanie...\n"; flush(); sleep(1); $telnet->connect(); }
  8. }
  9. ?>


Mozliwe, ze instrukcja

  1. <?php
  2. $telnet->connect();
  3. ?>


nie jest tu potrzebna - to zalezy, czy urzadzenia odnowia gniazdko, choc wydaje mi sie, ze resetujacy sie router zerwie po prostu polaczenie a ten kod sprobuje Ci otworzyc nowe (juz po fakcie rozlaczenia)
Go to the top of the page
+Quote Post
kayy
post
Post #13





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Lecz dalej nie działa. Mówiąc jaśniej skrypt wyrzuca komunikat jakby wszystko było oki, ale jest problem z poleceniem reboot. Mianowicie chodzi o to, że konsola nie daje żadnych znaków, życia - czy to w trakcie restartu czy już po, więc nie mam jak sprawdzić czy restart się udał. Mógłby ktoś bardziej pro sprawdzić tą klasę i przerobić / powiedzieć jak aby nie trzeba było oczekiwać na odpowiedź po wpisaniu polecenia?




Był bym bardzo wdzięczny,

kayy
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Mianowicie chodzi o to, że konsola nie daje żadnych znaków, życia - czy to w trakcie restartu czy już po, więc nie mam jak sprawdzić czy restart się udał.

Przecież to logiczne - serwer zrywa połączenie i nie jest w stanie już odpowiedzieć. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozostaje tylko próba nawiązywania połączenia co określony czas.
Go to the top of the page
+Quote Post
kayy
post
Post #15





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Więc może jesteś w stanie mi pomóc ;P?
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Przecież pomagam. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Gotowca nie dostaniesz; sam kombinuj, forum jest od nakierowywania i zwracania uwagi na błędy, a nie od pisania gotowców. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
kayy
post
Post #17





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 3.08.2008

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


Cytat(erix @ 23.01.2009, 23:03:31 ) *
Przecież to logiczne - serwer zrywa połączenie i nie jest w stanie już odpowiedzieć. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozostaje tylko próba nawiązywania połączenia co określony czas.

Hmm... czyli według Ciebie skrypt zrywa połączenie po poleceniu reboot... No ale w takim razie na serwerze powinno się ono wykonywać, a skryptu, nawet jeżeli był by już rozłączony nie potrzeba by było. No a restart wcale "się nie robi"...
Go to the top of the page
+Quote Post

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: 16.09.2025 - 20:46