我有一个应用程序,该应用程序最初作为iPhone应用程序存在,现在作为Android应用程序存在。功能之一是加载网页,该网页通过将字符串作为Referer传递来绕过安全性登录。iPhone的代码如下-
NSMutableURLRequest *request = [NSMutableURLRequest new]; [request setValue:@"http://myweb.com/" forHTTPHeaderField:@"referer"]; [request setURL:[NSURL URLWithString:@"http://www.theirweb.com/meetings/meetings.plx?CID=TEST2012&O=Generic&Key=4s6p2wz9"]]; [htmlDoc loadRequest:request];
我在Android应用中使用的代码是-
WebView webview = new WebView(this); setContentView(webview); webview.loadUrl("http://www.theirweb.com/meetings/meetings.plx?CID=TEST2012&O=Generic&Key=4s6p2wz9");
但是,当我运行它时,访问被拒绝,因为我没有以“ Referer”的身份发送请求。我该如何在Android代码中做到这一点?
将loadUrl()与additionalHttpHeaders参数一起使用。自Android 2.2起可用。
additionalHttpHeaders
Map<String, String> extraHeaders = new HashMap<String, String>(); extraHeaders.put("Referer", "http://www.example.com"); WebView wv = (WebView) findViewById(R.id.webview); wv.loadUrl("http://google.com", extraHeaders);