Právě je úte 22. kvě 2012 10:09:03
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[HELP] NHL 09 od Jakubes
[Hlasovanie] Pridanie teamov do PICH od MajkX
[Ms 2012] NHL 2009 Remake od MajkX
[ HELP ]NPC od UpiR
[HELP]Hackovanie servera od kazlik

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 9 ] 
Autor Zpráva
 Předmět příspěvku: [TUT]HTTP - Jak na to a k cemu to je?
PříspěvekNapsal: pát 27. srp 2010 19:59:50 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

TUT ma obtiznost 6/10 - Tedy urcen pokrocilym zkusenym pawnerum

Tak jsem se hloubeji podival na novou funkci samp 0.3b.. Jedna se o maly zabudovany vicevlaknovy webovy klient v samp.. DIky nemu muzete cist webove soubory, odesilat pozadavky PHP scriptum apod..

Nejdrive se podivejme na syntaxi nasi funkce:
Kód:
HTTP(index, type, url[], data[], callback[]);


Promenna index je pro rozlisovani typu prace pri pouzivani jednoho toho sameho publicu pro vice funkci.. Take se hodi pro playerid..

Promena type je pro typ komunikace s webovym serverem.. Je to jako v PHP.. Nevim jak tomu scripteri PHP rikaji tak si o me nemyslete buh vi co.. PHP nedelam.. Seznam typu je:
wiki.sa-mp.com píše:
HTTP_GET - Sends a regular HTTP request.
HTTP_POST - Sends a HTTP request with POST data.
HTTP_HEAD - Sends a regular HTTP request, but ignores any response data - returning only the response code.


Ale podle prikladu, ktery je na wikine usuzuji, ze HTTP_GET je pro cteni souboru z webu. HTTP_POST Zjevne diky promenne data[] funguje stejne jako v problematice PHP. A HTTP_HEAD Podle prilozeneho popisu pracuje stejne jako GET, ale ignoruje prichozi data (precteny text ze souboru napr.) <- Coz v tom dela, gulas a nechapu z toho nic... Ovsem jak se zda pouzitelne budou nejvice jen GET a POST.. Buh vi treba se poradneho popisu a prikladu pouziti dockame v plne ozkousene verzi HTTP klienta (Jelikoz jak si lze vsimnout, podotkl sa-mp tym, ze nynejsi HTTP klient je ve fazi BETA).

Dale tu mame promennou url[], ktera je pro urceni, se kterym souborem ma HTTP klient na webu komunikovat. Proste tam napiste URL textaku nebo PHP scriptu, kterej chcete bud cist nebo mu predat informace..

Pak tu mame promennou data[] Podle popisu na wikine usuzuji, ze pouzitelny bude jen s kombinaci s typem HTTP_POST a urcuje data POST, ktere budou odeslany... Nevim jak to pouzivat.. Na to zrejme prijdou PHP scripteri...

A nakonec se k nam dostala promenna callback[], ktera urcuje, jaky public se zavola po prijmuti navratovych dat nebo kodu.. Nas public bude pracovat s hodnotami: index, response_code a data[]. Takze tyto parametry by jeho hlavicka mela obsahovat.. Index je cislo (integer), ktere jste zadali pri pouzivani funkce HTTP. Response_code je navratovy kod chyby nebo uspechu.. Seznam nize.. Nakonec data[] je obsah prijimanych dat z precteneho textoveho souboru.. Jeho priklad pouziti mate zase na wikine..

Seznam navratovych kodu:
Spoiler:
Kód:
HTTP_ERROR_BAD_HOST         1
HTTP_ERROR_NO_SOCKET         2
HTTP_ERROR_CANT_CONNECT                   3
HTTP_ERROR_CANT_WRITE         4
HTTP_ERROR_CONTENT_TOO_BIG      5
HTTP_ERROR_MALFORMED_RESPONSE           6


Pokud treba napriklad tedy chceme udelat prikaz pro precteni novinek ze stranek serveru tak si staci vytvorit libovolny DCMD prikaz a do nej dat:
Kód:
HTTP(playerid,HTTP_GET,"http://www.strankyserveru.cz/novinky.txt","","PrecteniNovinek");


Pote vytvorit public "PrecteniNovinek" a do nej vlozit:
Kód:
if(response_code == 200)
{
     SendClientMessage(index,BARVA,data[]);
}


Podminka na responce_code == 200 je dulezite.. Jinak by se script snazil vypsat prijmute data bez ohledu na to zda-li je vubec prijal a buh vi jak by na to konzole reagovala...

Pokud tedy jeste chcete pridat nejakou zpravu o tom, ze ten zmetek nejakym zpusobem selhal a sami do logu chcete vedet jak ten zmetek selhal staci dopsat za podminku:
Kód:
else
{
     printf("Precteni novinek selhalo!(%d)",response_code);
     SendClientMessage(index,BARVA(treba seda ta se mi libi),"Novinky nejsou prave k dispozici!");
}


Da se s tim delat spousta veci i kdyz me ted prave napadaji jen 2 .. :lol: Sestrojim vam nakonec jeste nejakych par scriptu pro lepsi praci s HTTP a postnu to do sekce Vaše Scripty

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
PříspěvekNapsal: pát 27. srp 2010 20:01:14 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

Uz se tesim az udelas ten script na to POST co jsem psal help :)
Pěkný TUT


Offline
 Profil  
PříspěvekNapsal: sob 28. srp 2010 11:02:13 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

To dostanu jen jeden komentar? :(

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
PříspěvekNapsal: sob 28. srp 2010 11:03:41 
The Truth
The Truth
Uživatelský avatar
Registrován: pon 09. srp 2010 19:56:41
Příspěvky: 553

Pekne pekne aj ked sa už o také veci nezaujímam je to good 8/10-Ak smiem hodnotiť

_________________
NO! COMRADE!
Yes! Sir!
Nein!
Are you Crazy?
Spoiler:
Obrázek A Obrázek A Obrázek


Offline
 Profil  
PříspěvekNapsal: sob 28. srp 2010 12:31:49 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Uživatelský avatar
Registrován: stř 20. srp 2008 10:24:58
Příspěvky: 2444

Rád bych ti opravil pár věcí, které máš myslim špatně. Doufam, že je já budu mít dobře :D
[hr][/hr]
Upozornění: Adresa URL nesmí obsahovat "http://" takže do funkce budeme psát jen adresu naší stránky, příklad:
Kód:
HTTP(0, HTTP_GET, "mojestranky.cz/soubor.php", "", "MyHttpResponse");


HTTP_GET, HTTP_POST a HTTP_HEAD jsou typy jak zaslat informace na web.

Typy HTTP_GET a HTTP_POST vždy vrací návratová data, která přečte ze stránky na kterou byl požadavek zaslán, to ale neplatí pro typ HTTP_HEAD.
[hr][/hr]
Typ HTTP_GET

... použijeme v případě, když nechceme zaslat data metodou POST na naší zvolenou stránku ale metodou GET. Ve skutečnosti to vypadá stejně, jako kdybyste jednoduše napsali do svého prohlížeče (browseru) url odkaz a zmáčkli ENTER.

Příklad:
Kód:
HTTP(0, HTTP_GET, "www.mojestranky.cz/soubor.php", "", "MyHttpResponse");

Příklad 2:
Kód:
HTTP(0, HTTP_GET, "www.mojestranky.cz/soubor.php?akce=test&jmeno=player", "", "MyHttpResponse");

Příklad 2 vystihuje použití funkce typu HTTP_GET. V php scriptu bychom potom tento příklad mohli použít takto:
Kód:
<?php
   $jmenoakce = $_GET["akce"];
   $hrac = $_GET["jmeno"];
   echo "Nazev naší akce: $jmenoakce . Nazev hráče: $player";
?>

[hr][/hr]
Typ HTTP_POST

... použijeme, pokud chceme zaslat data pomocí metody POST na naší zvolenou stránku.

Příklad: (stejně jako u metody GET se POST data rozdělují znakem "&" )

Kód:
HTTP(0, HTTP_POST, "www.mojestranky.cz/soubor.php", "data1=ucet&web=pawno.cz&penize=5000", "MyHttpResponse");

V php scriptu bychom potom tento příklad mohli použít takto:
Kód:
<?php
   $vec1 = $_POST["data1"];
   $vec2 = $_POST["web"];
   $vec3 = $_POST["penize"];
   echo "Data: $vec1";
   echo "Stránka: $vec2 a peníze: $vec3";
?>

_________________

Každý má právo na svůj názor . . .
. . . ale někdy stojí za to, se nad sebou zamyslet



Obrázek

Obrázek

Obrázek


Offline
 Profil  
PříspěvekNapsal: čtv 30. zář 2010 16:01:14 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Registrován: ned 19. črc 2009 12:53:53
Příspěvky: 2537

[other]FreeWall
nice TUT :clap: :clap: :clap:


Offline
 Profil  
PříspěvekNapsal: čtv 30. zář 2010 16:05:29 

a sl,o by pres toto udelat ze se registrujete na webu a kdys se pudete na server a pouzijete stejne meno a heslo jako na webu prihlasi vas to ? jako je to treba na wow ?


  
PříspěvekNapsal: čtv 30. zář 2010 16:06:09 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

Gengsta píše:
a sl,o by pres toto udelat ze se registrujete na webu a kdys se pudete na server a pouzijete stejne meno a heslo jako na webu prihlasi vas to ? jako je to treba na wow ?


Jo slo by to ;)

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
PříspěvekNapsal: čtv 30. zář 2010 16:06:28 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

Gengsta píše:
a sl,o by pres toto udelat ze se registrujete na webu a kdys se pudete na server a pouzijete stejne meno a heslo jako na webu prihlasi vas to ? jako je to treba na wow ?

Existuje MySQL plugin takze kdyby sis udelal na webu MySQL registraci a k serveru dal ten plugin tak by to slo ;)


Offline
 Profil  
PříspěvekNapsal: čtv 30. zář 2010 16:07:28 

Davidekpc píše:
Gengsta píše:
a sl,o by pres toto udelat ze se registrujete na webu a kdys se pudete na server a pouzijete stejne meno a heslo jako na webu prihlasi vas to ? jako je to treba na wow ?

Existuje MySQL plugin takze kdyby sis udelal na webu MySQL registraci a k serveru dal ten plugin tak by to slo ;)


aha xD ale to nepotrebuju xD spis je lepsi ten mp3plugin ze hraje mp3 kterou si nekam nahrajes xD


  
PříspěvekNapsal: čtv 11. srp 2011 9:32:26 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: úte 02. lis 2010 22:16:14
Příspěvky: 1468
Bydliště: Program Files(x64);

Sorryze to ozivuju ale nemuzu stim hnout je to zatim capina ale potrebuju dostat na web do souboru tri hodnoty ale at jsem zkusil jakoukoli moznost Freewalem uvedenou tak se mi na webu kdyz ten soubor otevru neoobjevi nic byl by ke mě nekdo tak převelice laskav a ochoten mi t vysvetlit treba nas skypeu ?kdyz tak piste primo nanej nebo SZ at uz se to vic neozijue a jeste jednou sry

_________________
ObrázekObrázekObrázekObrázekObrázek


ObrázekObrázekObrázek

Obrázek

K temné straně Dooku přidal se. Lži, zrada a nedůvěra jsou teď nástroje jeho.


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 9 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: