restlet默认添加user agent header吗?

Does restlet add a user agent header by default?

如果开发者没有指定,restlet java 库是否会添加一个user-agent header?

如果是,它对 header 使用的值是多少?

User-Agent header 的内容可从 ClientInfo class 的 agent 属性获得:

// Client side
getRequest().getClientInfo().setAgent("something");

// Server side
String userAgent = getRequest().getClientInfo().getAgent();

这个可以在客户端设置,在服务器端获取。

如果在使用 Restlet 发送请求时没有指定任何内容。例如,使用这样的代码:

String url = "http://localhost:8182/contacts/";
ClientResource cr = new ClientResource(url);
cr.get();

header内容如下:

Jetty/9.2.6.v20141205,Restlet-Framework/2.3.1

在我的例子中,我使用了 Restlet 2.3.1 和客户端连接器的 Jetty 扩展(实际发送请求)。

如果在客户端设置值,如下所述:

String url = "http://localhost:8182/contacts/";
ClientResource cr = new ClientResource(url);
cr.getClientInfo().setAgent("My user agent");
cr.get();

您现在将在服务器端获得此值:

Jetty/9.2.6.v20141205,My user agent

希望对你有帮助, 蒂埃里