Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

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

Opublikowano

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.

Opublikowano

Marek.S, przeczytaj to co napisałem, nie ma potrzeby ściągania odpowiedzi serwera.

 

Markuz, 39DLL? Wspomniany wcześniej GMSock?

Opublikowano

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.' );

Opublikowano

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.

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...