Android – 使用带有请求标头的网址打开浏览器

前端之家收集整理的这篇文章主要介绍了Android – 使用带有请求标头的网址打开浏览器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个特定的要求,我必须从我的活动中在浏览器上触发一个URL.我可以使用以下代码执行此操作:
String finalUrl = "http://localhost:7001/display/result.jsp?param=12345";
Intent browserIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(finalUrl));

现在,我想通过在请求中传递’param’作为请求头而不是queryString本身来调用result.jsp.

有人可以建议吗?

非常感谢提前

编辑
即使请求正文中带有’param’的POST请求也应该没问题.

编辑2
接受的答案是POST请求,而不是标题.

解决方法

Android浏览器支持“查看”javascript,例如以下代码可以启动浏览器应用程序以显示警告对话框:
String finalUrl = "javascript:alert('hello')";
    Intent browserIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(finalUrl));
    startActivity(browserIntent);

通过javascript进行后期操作的常见技巧是您通过javascript创建表单然后提交它.所以理论上下面的代码应该可以工作(部分代码是从this post复制的):

//String finalUrl = "http://localhost:7001/display/result.jsp?param=12345";
    String finalUrl = "javascript:" + 
        "var to = 'http://localhost:7001/display/result.jsp';" +
        "var p = {param:'12345',param2:'blablabla',param3:'whatever'};"+
        "var myForm = document.createElement('form');" +
        "myForm.method='post' ;" +
        "myForm.action = to;" +
        "for (var k in p) {" +
            "var myInput = document.createElement('input') ;" +
            "myInput.setAttribute('type','text');" +
            "myInput.setAttribute('name',k) ;" +
            "myInput.setAttribute('value',p[k]);" +
            "myForm.appendChild(myInput) ;" +
        "}" +
        "document.body.appendChild(myForm) ;" +
        "myForm.submit() ;" +
        "document.body.removeChild(myForm) ;";
    Intent browserIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(finalUrl));
    startActivity(browserIntent);

猜你在找的Android相关文章