WebClient, не отправляет параметры

Я пытаюсь получить токен с моего сайта fogbugz, следующий:

http://fogbugz.stackexchange.com/fogbugz-xml-api

Я имею:

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));
 }

Ниже ответа сервера:

<?xml version="1.0" encoding="UTF-8"?><response><error code="1">Nom d'utilisateur ou mot de passe incorrect</error></response>

Я вижу запрос в журналах IIS, но параметры отсутствуют.

Что я делаю не так?

редактировать: я уверен, что параметры являются правильными, потому что я проверил в браузере, и он работает хорошо.

1 ответ

Решение

Я запустил это с Fiddler, и ваш код отправляет запрос со следующим содержимым в теле запроса:

cmd=logon&email=test-email&password=test-password

Вместо этого я считаю, что вы должны отправлять эту информацию в строке запроса согласно документации (см. Раздел "Вход в систему"):

http://www.example.com/api.asp?cmd=logon&email=xxx@example.com&password=BigMac

Если вы хотите использовать NameValueCollection чтобы построить строку запроса, этот ответ предоставляет способ сделать это.

Другие вопросы по тегам