| Utilisation de 39dll | |
|
|
Auteur | Message |
---|
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Utilisation de 39dll Jeu 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
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Utilisation de 39dll Jeu 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. |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Ven 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
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Utilisation de 39dll Ven 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 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 |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Sam 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
|
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Lun 12 Mai 2014 - 20:58 | |
| Tu pourrais essayer de faire cette requête please? - 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
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Utilisation de 39dll Mar 13 Mai 2014 - 18:45 | |
| Je te fais ça dans la soirée, si j'y pense 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. |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Mar 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
|
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Sam 17 Mai 2014 - 9:18 | |
| Oublié? _________________ <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
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Utilisation de 39dll Sam 17 Mai 2014 - 9:56 | |
| Ouai 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>
|
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Sam 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
|
|
| |
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Utilisation de 39dll Sam 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. |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Sam 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
|
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Utilisation de 39dll Dim 18 Mai 2014 - 21:20 | |
| Encore oublié? 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
|
|
| |
Contenu sponsorisé
| Sujet: Re: Utilisation de 39dll | |
| |
|
| |
| Utilisation de 39dll | |
|