WebClient, n'envoie pas de paramètres
-
28-10-2019 - |
Question
J'essaie d'obtenir le jeton de mon site Web Fogbugz, suit:
http://fogbugz.stackexchange.com/fogbugz-xml-api
J'ai :
using (var wb = new WebClient())
{
var data = new NameValueCollection();
data["cmd"] = HttpUtility.UrlEncode(cmdLogon);
data["email"] = HttpUtility.UrlEncode(email);
data["password"] = HttpUtility.UrlEncode(password);
content = encoding.GetString(wb.UploadValues(url, "POST", data));
}
Sous la réponse du serveur:
<?xml version="1.0" encoding="UTF-8"?><response><error code="1">Nom d'utilisateur ou mot de passe incorrect</error></response>
Je peux voir la demande dans les journaux IIS mais les paramètres sont absents.
Qu'est-ce que je fais de mal?
EDIT: Je suis sûr que les paramètres sont corrects car j'ai testé dans le navigateur et cela fonctionne bien.
La solution
J'ai exécuté cela avec Fiddler, et votre code envoie une demande avec le contenu suivant dans le corps de la demande:
cmd=logon&email=test-email&password=test-password
Au lieu de cela, je pense que vous devriez envoyer ces informations dans la chaîne de requête selon le Documentation (Voir la section "journalisation"):
http://www.example.com/api.asp?cmd=logon&email=xxx@example.com&password=BigMac
Si vous souhaitez utiliser un NameValueCollection
Pour construire votre requête, ce réponse fournit un moyen de le faire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow