Bonjour à tous, je suis bien bloqué et j'ai besoin de l'aide des "pros"...
Sur un serveur 'lighttpd" j' appel des prog en langage c grâce au module "cgi".
Jusqu'ici tous va bien, mais j'ai besoin de passer un paramètre a un de mes prog.
Pour tester j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <stdlib.h>
 
int main ( int argc , char * argv[] ) 
{
	int i;
	// affichage des arguments
 
	printf("Nombre d’arguments passes au programme : %d\n",	argc);
	for(i = 0 ; i< argc ; i ++) 
	{
		printf(" argv[%d] : %s \n", i, argv[i]);
	}
 
	return 0 ;
}
Je le compile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cc -o test_arg test_arg.c
et le bouge dans le rep cgi_bin.
je test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
~$ /var/www/cgi-bin/test_arg patate
l'argument patate est bien dans argv[1]

je dois appeler ce prog avec XMLHttpRequest, ça execute le prog mais je n'arrive pas a lui passer d'arguments!!
Voici la fonction sans test d'ajout de paramètre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function action_bp_5()
{
var xhr_object = null; 
 
if(window.XMLHttpRequest) // Firefox 
   xhr_object = new XMLHttpRequest(); 
else if(window.ActiveXObject) // Internet Explorer 
   xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
else { // XMLHttpRequest non supporté par le navigateur 
   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
   return; 
} 
xhr_object.open("GET", "/cgi-bin/test_arg", false);
xhr_object.send();
 
if(xhr_object.readyState == 4) alert(xhr_object.responseText); 
}
alert() me renvoi seulement argv[0] (le nom du prog)
j'ai fais pas mal de tests avec la méthode "POST" et plein d’autres avec "GET"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var str_var = encodeURIComponent(" patate");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
var params = "patate";
 
xhr_object.open("POST", "/cgi-bin/test_arg", false); 
xhr_object.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr_object.send(params);
je vous les met pas tous...
mais je ne parviens pas a appeler ce prog avec un paramètre...
Quelqu'un a une idée?
Un ptit coup de main?...