如何将“URL请求”作为“Referer”发送

时间:2012-03-28 08:12:08

标签: java android android-webview nsurlrequest http-referer

我有一个应用程序,它首先作为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代码中执行此操作?

1 个答案:

答案 0 :(得分:4)

loadUrl()additionalHttpHeaders参数一起使用。从Android 2.2开始提供。

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);