java - 如何发送 'Referer' 的 URL 请求

标签 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 代码中做到这一点?

最佳答案

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

关于java - 如何发送 'Referer' 的 URL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903496/

相关文章:

java - 如何使用 ListViews 创建选项卡式 Activity - Android

android - AndEngine 更新屏幕

android - Webview 应用程序下载不起作用

Java & MongoDB 查询 ISODate 问题

java - 防止 Java 中的 HTTP 响应拆分攻击

java - LongAccumulator 是如何实现的,使其更高效?

android - 在 Eclipse 和 IDEA 中使用 gradle 项目

javascript - 找不到 webview javascript 接口(interface)函数

android - Nestedscrollview/Scrollview 中的 Webview 缺少内容

java - 序列化一个空类(没有字段)