Ich versuche, einen Identifikations-Cookie von einer Website gesendet werden, und dafür verwende ich Volley library.Holen Sie sich Cookie von der Website mit Volley
Zunächst einmal ja ich dieses Thema ausgiebig von Tagen in den letzten paar gesucht haben und ich es geschafft, alle Antworten mit diesem Code, Rack:
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);
}
});
}
}
Was nicht zurückkommt alles mehr als leere Klammern, also rate ich etwas (s) falsch .. Für den Anfang bin ich hier richtig? und was genau muss ich hinzufügen, damit dies funktioniert?
Huch. Ich denke, Sie müssten eine benutzerdefinierte "Request" Unterklasse erstellen, die sowohl die Serverdaten als auch die Cookies zurückgeben würde. Ich würde dem 'CookieManager' nicht trauen, die aktualisierten Cookies genau zu dem Zeitpunkt zu haben, zu dem ich sie angefordert habe. –