Markuz Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Witam, czy jest możliwość aby dzięki GM wywołać jakąś funkcje na stronie? Taki przykład w jaki sposób to można zrobić ( ale nie wiem jak to zapisać w GM :P ) GM "wchodzi" na stronke www.stronka.pl/?funkcja=true dzięki temu na stronce włączymy jakąś funkcję. noi np. ?funkcja=false , wtedy funkcja się wyłączy. Lecz chodzi mi głównie jak zrobić to "wchodzenie" , nie aby nam się ta stronka otwierała poprzez IE itp. tylko sama z siebie na nią wchodziła :) heh
Tymon Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Wystarczy wysłać zapytanie HTTP. Do tego wystarczy Ci jakiś prosty dll do obsługi socketów i tyle. Ostatnio jest to wałkowane na forum dość często.
kryniak Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Wykorzystaj do tego jakiegoś DLL do obsługi socketów, może być to duet GMSock + RM_HTTP (autorstwa tak mało znanej osoby, że aż strach ją tu pisać :P).
Tymon Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Ta, tylko RM_HTTP ściąga od razu odpowiedź serwera, a tutaj jest to niepotrzebne.
Markuz Opublikowano 4 Stycznia 2009 Autor Opublikowano 4 Stycznia 2009 A więc jaki Dll mogę do tego wykorzystać? :)
Marek.S Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 https://gmclan.org/index.php?sciagnijplik=66
Tymon Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Marek.S, przeczytaj to co napisałem, nie ma potrzeby ściągania odpowiedzi serwera. Markuz, 39DLL? Wspomniany wcześniej GMSock?
Marek.S Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 oj jak szukałem linka to nie było jeszcze Twojego posta :P
Tymon Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Nie dobijaj mnie. =P Proszę, prosty przykład w 39DLL: GML host = 'strona.pl'; file = 'skrypt.php?argument=wartosc'; request = tcpconnect( host, 80, 0 ); if( request ) { setformat( request, 2 ); clearbuffer(); writechars( 'GET /' + file + ' HTTP/1.0' + chr( 13 ) + chr( 10 ) ); writechars( 'Connection: close' + chr( 13 ) + chr( 10 ) ); writechars( chr( 13 ) + chr( 10 ) ); sendmessage( request ); setformat( request, 1, ' ' ); clearbuffer(); length = receivemessage( request ); if( length ) { if( string_pos( 'HTTP/', readchars( length - 1 ) ) == 1 ) { length = receivemessage( request ); if( length ) { code = readchars( length - 1 ); switch( code ) { case '200': show_message( code + ': Ok.' ); break; case '404': show_message( code + ': Strona nie zostala odnaleziona.' ); break; default: show_message( code + ': Nieokreslony kod odpowiedzi serwera.' ); } } else show_message( 'Nie ustalono czy akcja sie powiodla. Brak odpowiedzi serwera.' ); } else show_message( 'Nie ustalono czy akcja sie powiodla. Nieoczekiwana odpowiedz serwera.' ); } else show_message( 'Nie ustalono czy akcja sie powiodla. Brak odpowiedzi serwera.' ); closesocket( request ); } else show_message( 'Nie mozna bylo sie polaczyc z serwerem.' );
Dawidds Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 Tymon, napisałbyś dla mnie obsługę POST... :) ?
Tymon Opublikowano 4 Stycznia 2009 Opublikowano 4 Stycznia 2009 A co Ty chcesz jeszcze wysyłać? Plik? :) GML host = 'strona.pl'; file = 'skrypt.php'; data = 'argument1=wartosc1&argument2=wartosc2'; request = tcpconnect( host, 80, 0 ); if( request ) { setformat( request, 2 ); clearbuffer(); writechars( 'POST /' + file + ' HTTP/1.0' + chr( 13 ) + chr( 10 ) ); writechars( 'Connection: close' + chr( 13 ) + chr( 10 ) ); writechars( 'Content-Length: ' + string( string_length( data ) ) + chr( 13 ) + chr( 10 ) ); writechars( 'Content-Type: application/x-www-form-urlencoded' + chr( 13 ) + chr( 10 ) ); writechars( chr( 13 ) + chr( 10 ) ); writechars( data ); sendmessage( request ); setformat( request, 1, ' ' ); clearbuffer(); length = receivemessage( request ); if( length ) { if( string_pos( 'HTTP/', readchars( length - 1 ) ) == 1 ) { length = receivemessage( request ); if( length ) { code = readchars( length - 1 ); switch( code ) { case '200': show_message( code + ': Ok.' ); break; case '404': show_message( code + ': Strona nie zostala odnaleziona.' ); break; default: show_message( code + ': Nieokreslony kod odpowiedzi serwera.' ); } } else show_message( 'Nie ustalono czy akcja sie powiodla. Brak odpowiedzi serwera.' ); } else show_message( 'Nie ustalono czy akcja sie powiodla. Nieoczekiwana odpowiedz serwera.' ); } else show_message( 'Nie ustalono czy akcja sie powiodla. Brak odpowiedzi serwera.' ); closesocket( request ); } else show_message( 'Nie mozna bylo sie polaczyc z serwerem.' ); Proszę, w zależności co wysyłasz zmieniasz content-type.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się