如何在restlet android中添加Header params?
我有以下代码:
ClientResource clientResource = null;
try {
clientResource = new ClientResource(jsonRestHelper.getUrl());
for (Parameter parameter : jsonRestHelper.getParameters()) {
//here works perfectly, jsonRestHelper is a helper class
clientResource.addQueryParameter(parameter);
}
//here I wanna add headers param example
//addHeader("Key","Value");
} catch (Exception e) {}
答案 0 :(得分:4)
是否要添加自定义(即非标准)标头?如果是这样,试试这个:
import java.util.concurrent.ConcurrentMap;
import org.restlet.data.Form;
import org.restlet.engine.header.Header;
import org.restlet.engine.header.HeaderConstants;
import org.restlet.resource.ClientResource;
import org.restlet.util.Series;
...
clientResource = new ClientResource("http://someurl.com");
ConcurrentMap<String, Object> attrs = clientResource.getRequest().getAttributes();
Series<Header> headers = (Series<Header>) attrs.get(HeaderConstants.ATTRIBUTE_HEADERS);
if (headers == null) {
headers = new Series<Header>(Header.class);
Series<Header> prev = (Series<Header>)
attrs.putIfAbsent(HeaderConstants.ATTRIBUTE_HEADERS, headers);
if (prev != null) { headers = prev; }
}
headers.add("myHeaderName", "myHeaderValue");
答案 1 :(得分:3)
使用以下代码
HttpClient client = new DefaultHttpClient();
String getURL = "rest url";
HttpGet get = new HttpGet(getURL);
get.setParams(HttpParams parmams)
get.setHeader("Key","valye"); // Request Header
try {
HttpResponse responseGet = client.execute(get);
}
catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}