java - 从实现 testcookie-nginx-module 的网站生成 cookie

标签 java android url cookies header

这是对此答案的以下问题:Link Here

根据该答案,我能够绕过 testcookie-nginx-module 的安全检查由 byethhost 托管使用。

问题是我使用的 cookie 是从网络浏览器复制的。我需要使用我的 Android 设备从我的网站获取 COOKIE,以便我可以使用它在 byethost 服务器上发出请求。

Byethost提供了一个__test cookie来检查现有 session 上请求的有效性,如果我访问服务器的唯一方法是成为“有效的浏览器”,如何告诉服务器我是 Android 设备上的有效浏览器?这样我就可以将 cookie 提供给网络浏览器。

最佳答案

我遇到了同样的问题,首先我使用WebView访问页面并获取cookie,利用它来绕过testcookie-nginx-module的安全检查

    WebView myWebView = new WebView(this);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.loadUrl("my_page_here");

    String cookies = CookieManager.getInstance().getCookie("my_page_here");
    System.out.println(cookies);
    myWebView.destroy();

然后为了与 Volley 一起使用,我创建了一个 CustomRequest 扩展 StringRequest 并重写 getHeaders,如下所示:

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    Map<String, String> params = new HashMap<String, String>();
    params.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240 ");
    params.put("Cookie", cookies+"; expires=Fri, 1-Jan-38 06:55:55 GMT; path=/");
    params.put("Content-Type", "application/x-www-form-urlencoded");
    return params;
}

仅此而已,您还有其他解决方案吗?如果没有,你可以检查一下:D

关于java - 从实现 testcookie-nginx-module 的网站生成 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40806052/

相关文章:

actionscript-3 - AS3 Try Catch URL 加载器

.htaccess 可以工作,但不允许我访问子文件夹中的博客 index.php

java - 如何同时调用两个线程?

java - Gradle:在顶级和子模块中声明依赖关系 - 使用哪个?

javascript - Sonar 扫描仪 : Error java/lang/NoClassDefFoundError: java/lang/Object

java - AudioRecord 在 Android 5.01 上产生零间隙

wordpress - 我自己的 WordPress 帖子永久链接样式

java - ':app:dexDebug'. gradle failed 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' '以非零退出值 2 完成

Android studio - 构建后无法在设备上找到我的应用程序

android - 如何在按下主页按钮后继续录制?