我有:
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的平台,我想我可能需要使用一些参数“表示”,但这看起来有点奇怪。我认为建立这种代表性的例外是很常见的。
答案 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邮件列表,您可能会得到更快/更好的回复;我在那里待了一年半,这是一个很棒的社区。 p>