2

我有:

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

但是我不知道如何设置登录参数...

我想要那个代码

  • 逃跑等
  • 可以轻松地在获取/发布之间切换

作为一个基于 REST 的平台,我想我可能需要使用一些参数“表示”,但这似乎有点奇怪。我认为构建这个代表性异常会很常见。

4

1 回答 1

3

如果“登录参数”是指使用基本 HTTP 身份验证发送凭据,则使用Request.setChallengeResponse()完成,如下所示:

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

这适用于任何请求,使用任何 HTTP 方法。

但是,如果您尝试对其进行身份验证的服务器需要使用基本 HTTP Auth 以外的其他协议的凭据,那么您需要解释该协议——即它是否使用 cookie、标头、令牌等。

顺便说一句,通过发布到Restlet-Discuss邮件列表,您可能会得到更快/更好的响应;我已经在那里工作了一年半,这是一个很棒的社区。

于 2009-01-15T04:42:49.203 回答