[Plugin] Baixar Website.
#1

[Plugin] Baixar Website.
Por rjjj ou Ken




Crйditos a:


* rjjj ou Ken pelo plugin.
* Desenvolvedores do SA-MP pelo suporte aos plugins.







Informaзхes:



Inspirei-me a fazer este plugin devido ao fato de obter informaзхes de sites da internet ter sido uma tarefa muito difнcil, requerendo conhecimentos de bancos de dados, entre outros temas complexos de programaзгo .



A funзгo dele й baixar o cуdigo-fonte de websites para a pasta scriptfiles do servidor, tornando possнvel o uso de dados presentes nos mesmos no jogo.



O plugin cria um arquivo denominado BaixarWebsite.vbs quando o SA-MP Server й ligado, e, por meio dele, baixa os sites. Para que nгo ocorra travamentos durante o jogo nem nada do tipo, adicionei um sistema de multithreading para a execuзгo do arquivo .






Notas Importantes:



O download de vбrios sites ao mesmo tempo nгo й permitido. Caso queira baixar um depois de outro, espere a callback ConteudoWebsite ser acionada para este antes.



Nem todos os sites podem ter seu cуdigo-fonte capturado, entгo й necessбrio que sejam realizados testes para determinar se um site especнfico й ou nгo compatнvel com o plugin .






Instalaзгo do Plugin:



Apуs efetuar o download no final do tуpico, coloque o arquivo BaixarWebsite.inc que veio com ele na subpasta include da sua pasta pawno. Depois disso coloque o arquivo BaixarWebsite.dll na pasta plugins .



Em seguida adicione isto ao seu arquivo server.cfg:


Код:
plugins BaixarWebsite

E isto ao topo do seu GM/FS:


pawn Код:
#include <BaixarWebsite>


Finalmente, instalaзгo concluнda .






Como Usar:



A funзгo BaixarWebsite programa o download do cуdigo-fonte de determinado website. Seus parвmetros sгo :


pawn Код:
BaixarWebsite(site[], tempo);


Ao primeiro parвmetro deve-se passar uma string igual ao endereзo do website do qual se quer obter o cуdigo-fonte, e, ao segundo parвmetro, o tempo em milissegundos (nъmero) que se deve passar para que a callback ConteudoWebsite seja executada .



Essa callback serve para facilitar a leitura do arquivo no qual for armazenado o conteъdo do site. Como dependendo do site esse arquivo pode demorar para ficar pronto, especificar o tempo й algo de suma importвncia.



Se quiserem que ela seja lida apуs o tempo mнnimo necessбrio, faзam testes com os sites que escolherem .



Exemplo de uso:


pawn Код:
main()
{
    BaixarWebsite("http://www.horariodebrasilia.org/", 5000);
}


public ConteudoWebsite(File:arquivo)  //Trate "arquivo" como uma referкncia ao arquivo no qual for colocado o cуdigo do site.
{
    new STR[128];
    while(fread(arquivo, STR))
    {
        print(STR);
    }
    fclose(arquivo);
    return 1;
}


No cуdigo acima, apуs 5 segundos se passarem desde o momento que a funзгo BaixarWebsite foi chamada no main, serб mostrado na janela do samp-server.exe o cуdigo-fonte do site especificado .






Download:



http://www.solidfiles.com/d/1823c1a0f8/download/ - Plugin + Source.





Obs: Nгo exclua o arquivo BaixarWebsite.vbs (diretуrio do samp-server.exe) nem o arquivo Site.txt (diretуrio scriptfiles), que sгo gerados pelo plugin.



Obs 2: Como o plugin usa um arquivo .vbs, que й rodado por um programa interno do Windows, nгo hб uma versгo para Linux.



Obs 3: Nгo retire os crйditos !!!.




Espero ter ajudado .
Reply
#2

Muito bom sem dъvida, mas gostaria de saber qual й a utilidade disto para um samp server? eu nгo entendi o propуsito D:
Reply
#3

Nossa, Perfeito!
Parabens rjj!
Reply
#4

Muito bom rjj , qual ultilidade?
Reply
#5

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
Muito bom sem dъvida, mas gostaria de saber qual й a utilidade disto para um samp server? eu nгo entendi o propуsito D:
Quote:
Originally Posted by Ricop522
Посмотреть сообщение
Muito bom rjj , qual ultilidade?
Darei como exemplo o pedido de um tуpico que foi criado hб algum tempo .



Digamos que vocк queira mostrar o placar de um jogo de futebol para os jogadores do seu servidor .



Com o plugin, pode-se baixar o cуdigo-fonte de um site que tenha esse placar, filtrar dele as informaзхes desejadas (atravйs de funзхes de strings, expressхes regulares, etc) e exibн-las para os jogadores.



Quote:
Originally Posted by doodem
Посмотреть сообщение
Nossa, Perfeito!
Parabens rjj!
Muito obrigado !



Espero ter ajudado .
Reply
#6

"Com o plugin, pode-se baixar o cуdigo-fonte de um site que tenha esse placar, filtrar dele as informaзхes desejadas (atravйs de funзхes de strings, expressхres regulares, etc) e exibн-las para os jogadores."

Vixi muito foda. parabens
Reply
#7

O problema й direitos autorais, que ao baixar um site, ou os dados do mesmo,
a pessoa torna a possuir o source do site, podendo atй publica-lo, e tambйm
nгo vejo nenhuma utilidade nesta sua plug-in.

Mais de qualquer forma, bom trabalho.
Reply
#8

Quote:
Originally Posted by gcoder
Посмотреть сообщение
"Com o plugin, pode-se baixar o cуdigo-fonte de um site que tenha esse placar, filtrar dele as informaзхes desejadas (atravйs de funзхes de strings, expressхres regulares, etc) e exibн-las para os jogadores."

Vixi muito foda. parabens
Muito obrigado !


Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
O problema й direitos autorais, que ao baixar um site, ou os dados do mesmo,
a pessoa torna a possuir o source do site, podendo atй publica-lo, e tambйm
nгo vejo nenhuma utilidade nesta sua plug-in.

Mais de qualquer forma, bom trabalho.
Bem, o que o plugin faz equivale а aзгo de um usuбrio ver o cуdigo-fonte de um site em seu navegador, mas de uma forma diferente .



Um exemplo da utilidade do plugin pode ser encontrado no meu ъltimo post neste tуpico.



Espero ter ajudado .
Reply
#9

Achei uma ideia original e criativo (sistema). Parabйns +rep.
Reply
#10

Legal. Nгo totalmente autкntico ou criativo porque jб existem plugins com a mesma funзгo, inclusive HTTP faz algo similar. De qualquer maneira, parabйns pelo plugin !!



A lуgica do timer foi aquele que te mostrei nй? rsrs
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)