Я пытаюсь получить файл cookie, отправленный с веб-сайта, и для этого я использую Volley library.Получить cookie с сайта с помощью volley
Прежде всего, да я искал эту тему широко в течение последних нескольких дней, и используя все ответы, которые мне удалось наберешь этот код:
public class Login extends AppCompatActivity {
StringRequest stringRequest = null;
RequestQueue queue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
queue = Volley.newRequestQueue(this);
Button b = (Button) findViewById(R.id.bauth);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String url = "http://daviddurand.info/D228/pizza/?action=login&user=david";
stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
CookieManager manager = new CookieManager();
CookieHandler.setDefault(manager);
try {
Log.d("URI 1", manager.getCookieStore().get(new URI("http://daviddurand.info/D228/pizza/?action=login&user=david")).toString());
} catch (URISyntaxException e) {
e.printStackTrace();
}
Log.d("URIS", manager.getCookieStore().getURIs().toString());
Log.d("COOKIE", manager.getCookieStore().getCookies().toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//error
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
});
}
}
Который не возвращается ничего больше, чем пустые скобки, так что я угадываю что-то неправильно. Для начала я возглавляю правильный путь здесь? и что именно мне нужно добавить, чтобы сделать эту работу?
Хлоп. Я думаю, вам нужно будет создать пользовательский подкласс 'Request', который будет возвращать как данные сервера, так и файлы cookie. Я бы не стал доверять «CookieManager» для обновления файлов cookie в то время, когда я их просил. –