Envoi de données a un serveur en POST

soussous78 47 Messages postés mardi 21 novembre 2006Date d'inscription 5 novembre 2016 Dernière intervention - 1 nov. 2016 à 15:18 - Dernière réponse : soussous78 47 Messages postés mardi 21 novembre 2006Date d'inscription 5 novembre 2016 Dernière intervention
- 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 :(
Afficher la suite 

Votre réponse

3 réponses

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

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

Bonne journée.
Commenter la réponse de cgandco
soussous78 47 Messages postés mardi 21 novembre 2006Date d'inscription 5 novembre 2016 Dernière intervention - 4 nov. 2016 à 15:49
0
Merci
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.


--
Commenter la réponse de soussous78
soussous78 47 Messages postés mardi 21 novembre 2006Date d'inscription 5 novembre 2016 Dernière intervention - 5 nov. 2016 à 14:34
0
Merci
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
Commenter la réponse de soussous78

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.