我是Restlet开发的新手,试图添加标头来执行HTTP请求。我尝试了以下代码,但得到“400错误请求,标头无效”
String url = "http://xxxxx";
Client c = new Client(Protocol.HTTP);
Request request = new Request(Method.GET, url);
HashMap attributes = new HashMap();
attributes.put = ("DeviceID", "myDeviceID");
attributes.put = ("Centent-Type", "myCT");
attributes.put = ("User-Agent", "my user agent");
attributes.put = ("ClientID", "myCid");
request.setAttributes(attributes);
Response r =c.handle(request);
我正在使用Restlet 2.0。 请帮忙。任何示例代码都会有很大的帮助。提前致谢。 KC
答案 0 :(得分:3)
HTTP协议有一个允许的标题列表:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
ClientID和DeviceID似乎不允许标头。如果你想要自定义标题,你应该在它们前面添加“X - ”。
答案 1 :(得分:0)
尝试使用
attributes.put = ("Content-Type", "myCT");
虽然可能还有其他问题(myCT内容类型?)。从来没有使用过客户端ID和设备ID标题......但我是一个PHP人:)