Ошибка «401 несанкционированный» при выполнении http сообщения (клонировано из команды curl) в Android - PullRequest
1 голос
/ 05 марта 2011

я знаю, что я не первый, но я искал и не нашел решения.Прежде всего мне нужно сделать это:

curl -user1:pass1 - X POST -d"data" http://www.mysite.com/pushes.xml

Но я не хочу использовать curl lib для такого простого запроса, потому что я считаю, что решение должно быть простым и безболезненным.Я нашел этот http пример входа в систему и попытался использовать его с

    nvps.add(new BasicNameValuePair("username", "user1"));
    nvps.add(new BasicNameValuePair("password", "pass1"));

Но я думаю, что теги "username" и "password" неверны ... и я простоне могу получить их .. поэтому я прошу вас о помощи.Пожалуйста, помогите мне понять, что мне нужно сделать, чтобы пройти через этот логин.Спасибо будет гарантировано:)

PS в ответ я получаю сообщение "HTTP Basic: доступ запрещен".Но команда curl работает нормально ...

Ответы [ 2 ]

0 голосов
/ 17 ноября 2012

если сервер возвращает 401, вам нужно передать учетные данные через специальный аутентификатор или параметры заголовка:

    httpPost.addHeader(RestHelper.AUTHORIZATION_HEADER, RestHelper.AUTHORIZATION_HEADER_VALUE);

where 

    AUTHORIZATION_HEADER_VALUE = "Basic " + Base64Encoder.encode ("user:password");
    AUTHORIZATION_HEADER = "Authorization";

или

    httpClient.getCredentialsProvider().setCredentials(
            new AuthScope("server.com", 443, AuthScope.ANY_SCHEME),
            new UsernamePasswordCredentials(LOGIN_VALUE, PASSWORD));
0 голосов
/ 15 марта 2011

Проверьте API, который вы используете.У меня была похожая проблема, пока я не проверил ее, и это было «пользователь», а не «имя пользователя».
Поэтому измените nvps.add(new BasicNameValuePair("username", "user1"));
на nvps.add(new BasicNameValuePair("user", "user1")); и попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...