Использование параметров в запросе клиента Restlet - PullRequest
2 голосов
/ 14 января 2009

у меня есть:

Request request = new Request(Method.GET, "https://www.awebsite.com/login");
Client client = new Client(Protocol.HTTPS);
Response response = client.handle(request);
...
response.getEntity().write(System.out);

Но я не знаю, как настроить параметры входа ...

Я хочу код, который

  • убегает и т. Д.
  • может легко переключаться между get / post

Будучи платформой на основе REST, я думаю, что мне может понадобиться использовать некоторый параметр «представление», но это кажется немного странным. Я думаю, что было бы достаточно распространено встраивать это репрезентативное исключение.

1 Ответ

3 голосов
/ 15 января 2009

Если под «параметрами входа в систему» ​​вы подразумеваете отправку учетных данных с использованием Базовой HTTP-аутентификации, это делается с помощью Request.setChallengeResponse () , например, так:

Request request = new Request(Method.GET, "https://www.awebsite.com/login");
request.setChallengeResponse(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, username, password));

Это будет работать для любого запроса, используя любой метод HTTP.

Если, однако, сервер, на котором вы пытаетесь пройти аутентификацию, ожидает учетные данные, используя какой-то протокол, отличный от Basic HTTP Auth, вам нужно будет объяснить этот протокол - т.е. использует ли он куки, заголовки, токены и т. Д. .

Кстати, вы можете получить более быстрые / лучшие ответы, отправив сообщение в список рассылки Restlet-Discuss ; Я был там полтора года, и это отличное сообщество.

...