Subrata.In Ответов: 1

Невозможно получить значение файла cookie


Я хочу разработать приложение, которое записывает некоторое значение в файлы cookie (и периодически обновляется), а на веб-странице (с помощью webview) есть кнопка, нажав на которую он покажет значение файла cookie. Я нашел много решений, но ни одно из них не решает мою проблему. Я не получаю значение require cookie.

Заранее спасибо.

Что я уже пробовал:

В Моем Приложении:
public class MainActivity extends Activity 
{
  private Handler MyHandler = new Handler();

  protected void onCreate(Bundle savedInstanceState) 
  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView  wv1 =( WebView)findViewById(R.id.webView1);
        wv1.getSettings().setLoadsImagesAutomatically(true);
        wv1.getSettings().setJavaScriptEnabled(true);
        String url = "https://abcd.com";          
        wv1.loadUrl(url);
        MyHandler .postDelayed(MyThread, 0);
        CookieManager.getInstance().setAcceptThirdPartyCookies(wv1, true);    
  }

  private Runnable MyThread = new Runnable() 
  {

        public void run() 
        {
            Update_Value(); 

            MyHandler.postDelayed(this, 10000);
        }

  };    

  private void Update_Value()
  {
    String _Value= Get_Value();

    CookieSyncManager.createInstance(this);
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.setCookie("MyValue", _Value);
    CookieSyncManager.getInstance().sync();
    //?cookieManager.flush();
  }  
}


На веб - странице- https://abcd.com/default.aspx (ASP.Net)
protected void btn_ShowValue_Click(object sender, EventArgs e)
{
  object _Value = Response.Cookies["MyValue"].Value;

  if (_Value != null) txt_Result.Text = "Result : " + _Value.ToString();
  else txt_Result.Text = "Value not found";
}

Richard Deeming

Попробуй Request.Cookies вместо Response.Cookies.

Если это не сработает, вам нужно будет отладить свой код, чтобы понять, почему файл cookie не устанавливается.

Subrata.In

Огромное спасибо. Это решило мою проблему.

1 Ответов

Рейтинг:
5

Richard Deeming

Как уже упоминалось в комментариях, вам нужно использовать Request.Cookies коллекция, а не то Response.Cookies коллекция.

То печенье запросу [^] - это те, которые клиент отправляет на сервер. То печенье ответ [^] являются новыми, которые будут отправлены обратно клиенту.