youdontcare  | j'avais galéré tel le dingue pour faire du post en php (sur nexen). en plus, pas des masses de docs là dessus  , et un bug chelou. au cas où, voici une proc qui marche pour une requête post de nexen -> altern (c'est du php, facilement convertible en c)
   host = une adresse ip ou un nom de domaine
 postfile = le chemin sur le serveur cible (/myDir/myPost.php)
 varname = le nom de la variable
 vardata = son contenu
   ça ne gère donc qu'une seule variable, je galérais déjà bien assez comme ça   même si j'en passe plusieurs, que je récupère à coups d'explode() sur le serveur cible.
    
  Code :
 - //
 - // Send a request and return its response
 - //
 - function	HTTPRequest($targethost, $request)
 - {
 - 	global	$socket;
 - 	// If targethost is a dns string, get its IP  
 - 	if (!ereg("[0-255].[0-255].[0-255].[0-255]", $targethost))	$address = gethostbyname ($targethost);
 - 	else              $address = $targethost;
 - 	// Get the port for the WWW service
 - 	$service_port = getservbyname ('www', 'tcp');
 - 	// Create a TCP/IP socket
 - 	$socket = socket (AF_INET, SOCK_STREAM, 0);
 - 	if ($socket < 0)     echo "socket() failed: reason: " . strerror ($socket) . "<br>";
 - 	// Connect
 - 	$result = connect ($socket, $address, $service_port);
 - 	if ($result < 0)  echo "connect() failed.\nReason: ($result) " . strerror($result) . "<br>";
 - 	// Send request
 - 	write ($socket, $request, strlen ($request));
 - 	// Grab result
 - 	$outresult = "";
 - 	while (read ($socket, $out, 2048) >= 0) {
 -   $outresult .= $out;
 - 	}
 - 	// Close socket
 - 	close ($socket);
 - 	return $outresult;
 - }
 - //
 - // Send an HTTP POST request
 - //
 - function	HTTPPOST($host, $postfile, $varname, $vardata)
 - {
 - 	$boundary	= "----boundary----";
 - 	// Build POST data
 - 	$postheader	=	"$boundary\r\n";
 - 	$postheader	.=	"Content-Disposition: form-data; name=\"$varname\"\r\n\r\n";
 - 	$postheader	.=	"$vardata\r\n\r\n";    // FIX ! there's only one return in ie data, but data gets truncated here without two.
 - 	$postheader	.=	"$boundary\r\n\r\n";
 - 	$postlen	= strlen($postheader);
 - 	// Build POST header
 - 	$header =	"POST $postfile HTTP/1.0\r\n";
 - 	$header	.=	"Host: $host\r\n";
 - 	$header .=	"Content-Type: multipart/form-data; boundary=$boundary\r\n";
 - 	$header	.=	"Content-Length: $postlen\r\n\r\n";
 - 	$header .=	$postheader;
 - 	return HTTPRequest($host, $header);
 - }
 
  |  
      |