WebClient, не отправляет параметры - PullRequest
0 голосов
/ 06 декабря 2011

Я пытаюсь получить токен с моего веб-сайта 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, но параметры отсутствуют.

Что я делаю неправильно?

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

1 Ответ

1 голос
/ 06 декабря 2011

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

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

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

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

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

...