Modify request and response headers
Posted: Tue Mar 16, 2021 3:30 am
I'm trying to modify the request and response headers during the normal network transaction. I've found it possible to modify request headers via onBeforeResourceLoad, but I'm not sure if jcef can modify response headers. Could anyone tell me how to modify them?
Here is my code to modify request headers. If I have made any mistakes please tell me, thank you!
Here is my code to modify request headers. If I have made any mistakes please tell me, thank you!
- Code: Select all
public void modifyRequestHeaders() {
class JcefRequestHandler extends CefRequestHandlerAdapter{
@Override
public boolean onBeforeResourceLoad(CefBrowser browser, CefFrame frame, CefRequest request) {
if (request.getURL().indexOf("islocal=true") > 0) {
HashMap<String, String> headerMap = new HashMap<String, String>();
request.getHeaderMap(headerMap);
String key = null, value = null;
for (Map.Entry<String, String> header : headerMap.entrySet()) {
if (header.getKey().toLowerCase().contains("cookies")) {
key = header.getKey();
value = header.getValue();
}
}
if (key != null) {
headerMap.put("Cookie", value);
}
headerMap.remove(key);
request.setHeaderMap(headerMap);
}
return false;
}
}
JcefRequestHandler requestHandler = new JcefRequestHandler();
client.addRequestHandler(requestHandler);
}