使用Restlet客户端请求中的参数

时间:2009-01-14 19:53:05

标签: http parameters client restlet

我有:

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 个答案:

答案 0 :(得分:3)

如果通过“登录参数”表示使用Basic HTTP Authentication,发送凭据,则使用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之外的某些协议的凭据,那么您需要解释该协议 - 即它是否使用cookie,标头,令牌等

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