Envoi de données a un serveur en POST

soussous78 Messages postés 47 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 5 novembre 2016 - 1 nov. 2016 à 15:18
soussous78 Messages postés 47 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 5 novembre 2016 - 5 nov. 2016 à 14:34
Bonjour,
J'ai fait une méthode (il y a quelques temps) qui fonctionnait pour envoyer des données (POST) a un serveur web.:
public static string GetPOSTResponse(string url, Hashtable ht)
        {
            using (var client = new WebClient())
            {
                client.Encoding = Encoding.UTF8;
                NameValueCollection values = new NameValueCollection();
                foreach (DictionaryEntry de in ht)
                    values.Add(de.Key.ToString(),de.Value.ToString());
                byte[] response = client.UploadValues(url, values);

                string s = Encoding.UTF8.GetString(response);
                return s;
            }
        }


cette méthode fonctionne dans un de mes programme mais dans un autre (sans raison apparente), elle n'envoie pas les données.
Pour tester, sur un fichier php, j'ai noté :
print_r($_POST);
die();

comme code retour, j'ai : Array\n(\n)\n
(soit pas de données, quoi que je mette comme Hashtable (j'ai biensûre vérifié que le Hashtable ne soit pas vide avant l'envoi, le NameValueCollection n'est pas vide non plus après le foreach).

Auriez-vous une idée, de ce qu'il peut bloquer? Dans l'autre programme, tout fonctionne normalement et même sur le fichier test.
Je commence a m'arracher les cheveux.. Je ne voudrais pas devenir chauve :(

3 réponses

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
3 nov. 2016 à 14:42
Bonjour,

Dans le programme ou cela ne fonctionne pas, es-tu certain que tu as quelque chose dans ht?

Bonne journée.
0
soussous78 Messages postés 47 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 5 novembre 2016
4 nov. 2016 à 15:49
Bonjour, et merci du retour.
Malheureusement, le ht est rempli(et revérifié en début) , il n'y a aucun bug, la demande est envoyée sans les variables post.
Je vais tenter de voir si en désinstallation visual basic et en le réinstallant, cela résoudra le problème.
Il y a peut être un soucis avec le compilateur ou le framework, je ne vois pas d'autre solution pour l'instant.


--
0
soussous78 Messages postés 47 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 5 novembre 2016
5 nov. 2016 à 14:34
Bonjour,
J'ai désinstaller le framework et visual studio, j'ai tout réinstallé et fait le test

J'ai une methode :
Hashtable ht_MP_gpr = new Hashtable();
ht_MP_gpr.Add("Q", "A");
ht_MP_gpr.Add("U", "B");
ht_MP_gpr.Add("P", "C");
string gpr = Statique.GetPOSTResponse("http://[url]", ht_MP_gpr);


J'ai mis un point d'arrêt sur la dernière ligne et fait f11 pour suivre le pas a pas
Je fais bien 3 passage dans le foreach
et dans le watch j'ai
values["U"] "B" string
values["P"] "C" string
values["Q"] "A" string
s "Array\n(\n)\n" string

Le problème est donc toujours le même. Si vous connaissez une autre methode pour récupérer la valeur en REST.. Je prends!

Merci
0
Rejoignez-nous