AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Google Pixel 7 5G – Smartphone 6,3″ OLED FHD+ 8 Go + 128 Go
316 €
Voir le deal

 

 Utilisation de 39dll

Aller en bas 
2 participants
AuteurMessage
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Utilisation de 39dll   Utilisation de 39dll EmptyJeu 8 Mai 2014 - 16:44

Hey, j'ai voulu utiliser la 39dll pour la communication réseau de mon prog, et je fais le nécessaire. Le problème est que ça ne marche pas :
Code:
var tcp;
tcp = tcpconnect("api.kag2d.com", 80, 0);
if(!tcp)return "";
//setformat(tcp, 1, chr(13) + chr(10) + chr(13) + chr(10)); //set format to text mode to receive double blank lines (the whole header file)

//send get request
clearbuffer();
crlf = chr(13)+chr(10);
writechars("GET / HTTP/1.1"+crlf);
writechars("User-Agent: Mozilla/5.0 (compatible; Online Domain Tools - HTTP Headers Online/1.0; +http://http-headers.online-domain-tools.com)"+crlf);
writechars("Host: api.kag2d.com"+crlf);
writechars("Accept: */*"+crlf);
writechars("Cache-Control: no-cache"+crlf);
writechars("Accept-Encoding: gzip"+crlf);
writechars("Pragma: no-cache"+crlf);

sendmessage(tcp);
//show_message(readchars(bytesleft())); // Au lieu de faire sauter le buffer avant de l'envoyer :P
receivemessage(tcp);

closesocket(tcp);

show_message(readchars(bytesleft()));
J'ai simplement une erreur 402 bad request. onilink_ m'a dit qu'il faut l'adresse du site à la requête GET, mais en googlant un peu j'ai vu que nom. Dans tous les cas, avec, ça ne marche pas. Une idée?

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyJeu 8 Mai 2014 - 19:44

Bah la requête GET elle te permet de récupérer un fichier, donc faut bien le spécifier :p
Ensuite les fin de ligne c'est standard, pas du windows, donc juste chr(10).

Perso si je fais cette requête GET avec ma lib tout marche nickel:

"GET https://cbna.forumactif.com/ HTTP/1.0\n"
"Accept : text/html\n"
"User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)\n\n"


Code:
SocketTcp socket;
IPAddress address("cbna.forumactif.com");

if(!address.valid())
{
   printf("Invalid address\n");
   return 1;
}

if(socket.connect(address, 80) != Socket::Done)
{
   printf("Connection impossible...\n");
   return false;
}

printf("Start GET\n");

std::string request =
"GET http://cbna.forumactif.com/ HTTP/1.0\n"
"Accept : text/html\n"
"User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)\n\n";

socket.send(request.c_str(), request.length());

char buff[1024] = {0};
size_t receive = 0;


printf("Receive html page...\n");
FILE * f = fopen("out.html", "w");
while( socket.receive(buff, 1024, receive) == Socket::Done )
{
   fprintf(f, "%s\n", buff);
   for(int i=0; i<1024; ++i)
      buff[i] = 0;
}
fclose(f);

Ce code marche nickel chez moi.

_________________
Utilisation de 39dll Runningpotato1Utilisation de 39dll TvF6GED Utilisation de 39dll MdetltS
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyVen 9 Mai 2014 - 15:53

Aaah toi tu parle de HTTP/1.0. Le site que je veux est en 1.1, c'est pas pareil.
Ta méthode c'est du 1.0 sans l'host

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyVen 9 Mai 2014 - 16:14

Bah du coup en 1.1 faut que tu trouves dans quel champ spécifier le fichier a download, sinon il peut pas deviner tout seul Razz
Après j'y connais pas grand chose en http, mais si tu veux que je teste une requête avec ma lib pour savoir si elle marche n'hésites pas a me le demander :b

_________________
Utilisation de 39dll Runningpotato1Utilisation de 39dll TvF6GED Utilisation de 39dll MdetltS
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptySam 10 Mai 2014 - 14:07

En HTTP/1.1 il faut GET / HTTP/1.1 pour avoir l'index, mais il ne faut pas oublier le Host: site.tld.
En tout cas oui ça m'intéresse, ça serait possible d'adapter ta lib pour une DLL sur GM? Ou au pire me donner les sources et je me débrouillerais pour trouver un tuto pour?

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyLun 12 Mai 2014 - 20:58

Tu pourrais essayer de faire cette requête please?  happy1 

Code:
GET / HTTP/1.1[crlf]
Host: api.kag2d.com[crlf]
Cache-Control: no-cache[crlf]
Accept-Encoding: gzip[crlf]
Sur api.kag2d.com

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyMar 13 Mai 2014 - 18:45

Je te fais ça dans la soirée, si j'y pense Razz
Pour la dll mon code est orienté objet, ce serait pas du tout adapté a GM.
Va plutôt voir du coté de la 39dll: http://host-a.net/u/39ster/
Y a la source de dispo normalement.

_________________
Utilisation de 39dll Runningpotato1Utilisation de 39dll TvF6GED Utilisation de 39dll MdetltS
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyMar 13 Mai 2014 - 18:49

Ouaip mais je suis un gros noob en C/C++ ^^
Merci, je vais y jetter un coup d'oeil, il faut juste que je prenne un compilo (J'en ai pas sur mon ordi)

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptySam 17 Mai 2014 - 9:18

Oublié?  beh 

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptySam 17 Mai 2014 - 9:56

Ouai Razz

Je reçois ça:
Code:
HTTP/1.1 400 Bad Request

Server: nginx/1.5.12

Date: Sat, 17 May 2014 07:56:26 GMT

Content-Type: text/html

Content-Length: 173

Connection: close



<html>

<head><title>400 Bad Request</title></head>

<body bgcolor="white">

<center><h1>400 Bad Request</h1></center>

<hr><center>nginx/1.5.12</center>

</body>

</html>

_________________
Utilisation de 39dll Runningpotato1Utilisation de 39dll TvF6GED Utilisation de 39dll MdetltS
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptySam 17 Mai 2014 - 9:58

Bizarre... Tu peux essayer ça?
Citation :
GET /v1/game/1/servers?filters=%5B%7B%22field%22%3A%22current%22%2C%22op%22%3A%22eq%22%2C%22value%22%3Atrue%7D%5D&limit=255 HTTP/1.1
Host: api.kag2d.com
Cache-Control: no-cache
. Je l'ai faite avec POSTMAN et ça marche niquel avec.

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptySam 17 Mai 2014 - 11:05

En fait m'étais gouré avec l'autre j'avais mis des doubles retours chariot a chaque fin de ligne.

Du coup:
Code:
HTTP/1.1 302 Moved Temporarily

Server: nginx/1.5.12

Date: Sat, 17 May 2014 08:58:51 GMT

Content-Type: text/html

Content-Length: 161

Connection: keep-alive

Location: https://api.kag2d.com/



<html>

<head><title>302 Found</title></head>

<body bgcolor="white">

<center><h1>302 Found</h1></center>

<hr><center>nginx/1.5.12</center>

</body>

</html>

Et pareil pour la seconde.
Par contre je sais pas pourquoi mais c'est pas très réactif.

_________________
Utilisation de 39dll Runningpotato1Utilisation de 39dll TvF6GED Utilisation de 39dll MdetltS
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptySam 17 Mai 2014 - 11:09

Vraiment bizarre, si il montre une erreur 302 il devrait dire où se trouve la vraie page...
Essaie :
Code:
GET /v1/game/thd/kag HTTP/1.1
Host: api.kag2d.com
Cache-Control: no-cache
Par rapport à la réactivité c'est sûrement du au fait que le serveur est hébergé aux US.

Sinon j'ai entendu parler de cURL, pour ce genre de truc c'est bien?

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll EmptyDim 18 Mai 2014 - 21:20

Encore oublié? Razz
J'ai réussi à faire une requête qui apparament fonctionne. Mais il reste un problème...
Code:
HTTP/1.1 302 Moved Temporarily
Mon code :
Code:
crlf = chr(13) + chr(10);

dllinit(0,true,true);
tcp = tcpconnect("api.kag2d.com", 80, 0);

setformat(tcp, 1, chr(13) + chr(10));

clearbuffer();
writechars("GET /v1/game/thd/kag HTTP/1.1"+crlf);
writechars("Host: api.kag2d.com"+crlf);
writechars("Accept: text/html,application/json"+crlf);
writechars("Accept-Encoding: gzip"+crlf);
writechars("Connection: Keep-Alive"+crlf+crlf);

sendmessage(tcp);
receivemessage(tcp);

setformat(tcp,0);
clipboard_set_text(readchars(bytesleft()));

closesocket(tcp);

_________________
‎<‎Cysteine‎>‎ nON mais la touche maj s'active/se désactive toute seule
‎<‎Cysteine‎>‎ et a du mal à réponDRE QUANd j'appuie dessus
‎<‎Cysteine‎>‎ et je l'ai démont2? IL Ny a rien DEDANs
Revenir en haut Aller en bas
Contenu sponsorisé





Utilisation de 39dll Empty
MessageSujet: Re: Utilisation de 39dll   Utilisation de 39dll Empty

Revenir en haut Aller en bas
 
Utilisation de 39dll
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Utilisation de l'UC
» FTP DLL utilisation.
» Atelier GML 3 - Trigonométrie, utilisation des lengthdir
» Apprendre utilisation DLL
» utilisation des séparateurs |

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: