SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 26/09/2019, 05:10 AM   #1
binnyl
Huge Clucker
 
Join Date: Aug 2017
Posts: 222
Reputation: 6
Default GM conectar com API node

Como enviar um JSON

Code:
{
"houseid": 10
}
pra essa parte da minha API node
Code:
  async robhouse(req, res) {
    const { houseid } = req.body;
    console.log("house robbing id: " + houseid);
    return res.json(houseid);
  }
No meu GM do SAMP?

Code:
HTTP(playerid, HTTP_POST, "localhost:3333/robhouse", "", "HttpResponse");
binnyl is offline   Reply With Quote
Old 27/09/2019, 03:44 PM   #2
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,389
Reputation: 325
Default Re: GM conectar com API node

Você quer getar as informações da página?
__________________
Brasil New Style
172.106.11.138:7777
ipsLuan is offline   Reply With Quote
Old 27/09/2019, 04:45 PM   #3
Naine
Big Clucker
 
Naine's Avatar
 
Join Date: Feb 2016
Posts: 105
Reputation: 38
Default Re: GM conectar com API node

Quote:
Originally Posted by binnyl View Post
Como enviar um JSON

Code:
{
"houseid": 10
}
pra essa parte da minha API node
Code:
  async robhouse(req, res) {
    const { houseid } = req.body;
    console.log("house robbing id: " + houseid);
    return res.json(houseid);
  }
No meu GM do SAMP?

Code:
HTTP(playerid, HTTP_POST, "localhost:3333/robhouse", "", "HttpResponse");
ira ficar algo como:
Code:
HTTP(playerid, HTTP_POST, "localhost:3333/robhouse", "{\"houseid\": 123}", "HttpResponse");
Como nao ira ter o content-type = json no header da requisicao, provavelmente tu nao vai receber esses dados em um objeto dentro do corpo.
print os dados recebidos, veja como é recebido e iniciae o parse..

Quote:
Originally Posted by ipsLuan View Post
Você quer getar as informações da página?
seguindo o raciocinio, postear
__________________
i5-7400 @ 3.0 GHz
B250M-PLUS/BR
GTX 1050 Ti
8 GB DDR4 @ 2400 MHz
Naine is offline   Reply With Quote
Old 28/09/2019, 05:17 AM   #4
Eiss
Little Clucker
 
Eiss's Avatar
 
Join Date: Jul 2019
Location: /bin/
Posts: 11
Reputation: 5
Default Re: GM conectar com API node

Melhor alternativa é usar o plugin do Southclaws.
O uso do mesmo é bem simples.

https://github.com/Southclaws/pawn-requests
__________________
Eiss is offline   Reply With Quote
Old 28/09/2019, 11:23 PM   #5
binnyl
Huge Clucker
 
Join Date: Aug 2017
Posts: 222
Reputation: 6
Default Re: GM conectar com API node

Quote:
Originally Posted by Naine View Post
ira ficar algo como:
Code:
HTTP(playerid, HTTP_POST, "localhost:3333/robhouse", "{\"houseid\": 123}", "HttpResponse");
Como nao ira ter o content-type = json no header da requisicao, provavelmente tu nao vai receber esses dados em um objeto dentro do corpo.
print os dados recebidos, veja como é recebido e iniciae o parse..


seguindo o raciocinio, postear
Não funcionou...

Code:
  async robbizz(req, res) {
    const { bizzid } = req.body;
    console.log("bizz robbing id: " + bizzid);
    return res.json(bizzid);
  }
testei no insmonia e funcionou de boa passando o json, já no GM...

Code:
                                // api
                                format(string, sizeof(string), "{\"bizzid\": %i}", bizzid);
                                HTTP(i, HTTP_POST, "localhost:3333/robbizz", string, "HttpResponse");

Code:
public HttpResponse(index, response_code, data[])
{
    // In this callback "index" would normally be called "playerid" ( if you didn't get it already :) )
    new buffer[128];
    if(response_code == 200) //Did the request succeed?
    {
        //Yes!
        format(buffer, sizeof(buffer), "The URL replied: %s", data);
        SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
    else
    {
        //No!
        format(buffer, sizeof(buffer), "The request failed! The response code was: %d", response_code);
        SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
}
No jogo printou:
The request failed! The response code was: 6
binnyl is offline   Reply With Quote
Old 28/09/2019, 11:25 PM   #6
binnyl
Huge Clucker
 
Join Date: Aug 2017
Posts: 222
Reputation: 6
Default Re: GM conectar com API node

Quote:
Originally Posted by Eiss View Post
Melhor alternativa é usar o plugin do Southclaws.
O uso do mesmo é bem simples.

https://github.com/Southclaws/pawn-requests
Desculpa a burrice, mas eu não entendi como botar isso pra funcionar

sampctl package install Southclaws/pawn-requests

samp não tem um limite de plugins? já to usando 6...

não tem suporte oficial pra json?
binnyl is offline   Reply With Quote
Old 29/09/2019, 03:52 AM   #7
Naine
Big Clucker
 
Naine's Avatar
 
Join Date: Feb 2016
Posts: 105
Reputation: 38
Default Re: GM conectar com API node

Quote:
Originally Posted by binnyl View Post
Não funcionou...

Code:
  async robbizz(req, res) {
    const { bizzid } = req.body;
    console.log("bizz robbing id: " + bizzid);
    return res.json(bizzid);
  }
testei no insmonia e funcionou de boa passando o json, já no GM...

Code:
                                // api
                                format(string, sizeof(string), "{\"bizzid\": %i}", bizzid);
                                HTTP(i, HTTP_POST, "localhost:3333/robbizz", string, "HttpResponse");

Code:
public HttpResponse(index, response_code, data[])
{
    // In this callback "index" would normally be called "playerid" ( if you didn't get it already :) )
    new buffer[128];
    if(response_code == 200) //Did the request succeed?
    {
        //Yes!
        format(buffer, sizeof(buffer), "The URL replied: %s", data);
        SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
    else
    {
        //No!
        format(buffer, sizeof(buffer), "The request failed! The response code was: %d", response_code);
        SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
}
No jogo printou:
The request failed! The response code was: 6
Tu precisa verificar no teu servidor HTTP (JS), o que você esta recebendo e modificar o teu script pra entender a requisição. Como eu disse, você nao esta enviado content-type json (https://developer.mozilla.org/pt-BR/...s/Content-Type), o teu servidor pode nao estar entendendo a requisição e nao realizar o parse, nesse caso o restante do teu codigo que espera um objeto nao ira funcionar.. print o corpo recebido e veja o que esta acontecendo.

de uma olhada sobre requisicoes do tipo post: https://developer.mozilla.org/pt-BR/...P/Methods/POST
veja sobre http codes: https://developer.mozilla.org/pt-BR/...eb/HTTP/Status (este é o codigo que voce ira receber em response_code, na callback HttpResponse)
__________________
i5-7400 @ 3.0 GHz
B250M-PLUS/BR
GTX 1050 Ti
8 GB DDR4 @ 2400 MHz
Naine is offline   Reply With Quote
Old 29/09/2019, 11:54 AM   #8
binnyl
Huge Clucker
 
Join Date: Aug 2017
Posts: 222
Reputation: 6
Default Re: GM conectar com API node

Quote:
Originally Posted by Naine View Post
Tu precisa verificar no teu servidor HTTP (JS), o que você esta recebendo e modificar o teu script pra entender a requisição. Como eu disse, você nao esta enviado content-type json (https://developer.mozilla.org/pt-BR/...s/Content-Type), o teu servidor pode nao estar entendendo a requisição e nao realizar o parse, nesse caso o restante do teu codigo que espera um objeto nao ira funcionar.. print o corpo recebido e veja o que esta acontecendo.

de uma olhada sobre requisicoes do tipo post: https://developer.mozilla.org/pt-BR/...P/Methods/POST
veja sobre http codes: https://developer.mozilla.org/pt-BR/...eb/HTTP/Status (este é o codigo que voce ira receber em response_code, na callback HttpResponse)
O servidor tá funcionando:
https://ibb.co/ygSQWP0
Mandando o JSON pelo insomnia


Só da erro (The request failed! The response code was: 6) quando eu tento mandar pelo pawn
Code:
                                // api
                                format(string, sizeof(string), "{\"bizzid\": %i}", bizzid);
                                HTTP(i, HTTP_POST, "localhost:3333/robbizz", string, "HttpResponse");
binnyl is offline   Reply With Quote
Old 29/09/2019, 12:14 PM   #9
Eiss
Little Clucker
 
Eiss's Avatar
 
Join Date: Jul 2019
Location: /bin/
Posts: 11
Reputation: 5
Default Re: GM conectar com API node

Quote:
Originally Posted by binnyl View Post
O servidor tá funcionando:
https://ibb.co/ygSQWP0
Mandando o JSON pelo insomnia


Só da erro (The request failed! The response code was: 6) quando eu tento mandar pelo pawn
Code:
                                // api
                                format(string, sizeof(string), "{\"bizzid\": %i}", bizzid);
                                HTTP(i, HTTP_POST, "localhost:3333/robbizz", string, "HttpResponse");

Seu script e a requisição aparenta está certo.

Tenta verificar as configurações do seu firewall, proxy, anti-vírus, etc.
Se você for usuário de Windows e usar esses anti-vius ai da vida, verifica as permissões da web.
Abrss...
__________________
Eiss is offline   Reply With Quote
Old 29/09/2019, 01:37 PM   #10
n0minal
Banned
 
Join Date: Mar 2013
Location: Rio de Janeiro
Posts: 4,054
Reputation: 784
Default Re: GM conectar com API node

Quote:
Originally Posted by binnyl View Post
Desculpa a burrice, mas eu não entendi como botar isso pra funcionar

sampctl package install Southclaws/pawn-requests

samp não tem um limite de plugins? já to usando 6...

não tem suporte oficial pra json?
Não existe um limite para o número de plugins que você pode usar no SAMP.

Sampctl é um gerenciador de pacotes (plugins) feito para o SAMP, como se fosse um npm/yarn.

O HTTP padrão do SAMP não usa content type json em seus headers internos.

SAMP não tem suporte oficial a JSON, então já que na sua API você trafega JSON recomendo que instale o sampctl e se aprofunde no plug-in do southclaw, é a melhor opção.
n0minal is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Node/Pathfinding Calculator jeffery30162 Scripting Help 4 04/04/2016 03:16 PM
Help FCNPC NODE POINT DarkZeroX Scripting Help 2 28/06/2014 07:04 PM
FCNPC Node Help Weponz Scripting Help 0 11/06/2014 01:50 PM
GTA SA Pedestrian Node Help reiss82 Scripting Help 1 06/09/2012 07:20 PM
Destroy Object Node GPS? Admigo Scripting Help 0 09/05/2012 07:49 PM


All times are GMT. The time now is 05:15 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.