Je suis en train de créer une application console qui rassemble des données et les envoie ensuite à une page php via une requête POST. Ceci est mon code C#:L'application console envoie uniquement les 46 premiers caractères d'une requête POST
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://localhost/log.php");
Request.Method = "POST";
Request.ContentType = "application/x-www-form-urlencoded";
string PostData = "data=" + UserOutput;
Request.ContentLength = PostData.Length;
StreamWriter stOut = new StreamWriter(Request.GetRequestStream(), System.Text.Encoding.ASCII);
stOut.Write(PostData);
stOut.Close();
Et la page PHP (log.php):
<?php
file_put_contents('log.txt', $_POST['data']);
?>
Remarque Je n'utilise file_put_contents
pour tester si tout fonctionne bien, ce n'est pas ce que je veux finir par faire.
La longueur des données de message à envoyer est de plus de 2 000 caractères, et la longueur de contenu correcte est renvoyée par Request.ContentLength = PostData.Length;
, donc ce n'est pas le problème. Mais chaque fois que j'essaie cela, il envoie seulement les 46 premiers caractères de mes données POST.
Je dois admettre à ce stade que j'ai copié la plupart du code, car je ne suis pas très expérimenté en C#.
Toute aide serait formidable, merci.
Aha, je pensais jamais vraiment de cela. C'est le problème et je m'assurerai d'UrlEncode à partir de maintenant. Merci :) – Kratz