如何为http请求添加标头

时间:2010-10-22 04:49:19

标签: http header restlet

我是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

2 个答案:

答案 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人:)