Django サーバーに接続する Android クライアント アプリケーションを構築しています。ここでの問題は、サーバーにログインできないことです:(.何が問題なのか、助けてください:|これが私のloginFunction()です:
DefaultHttpClient を作成します。
DefaultHttpClient httpClientStatic = new DefaultHttpClient();
サーバーからcrsfを取得する関数:
public String getCsrfFromUrl(String url) { HttpGet httpGet = new HttpGet(url); HttpResponse httpResponse = httpClientStatic.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); List<Cookie> cookies = httpClientStatic.getCookieStore().getCookies(); if (cookies.isEmpty()) { Log.e("COOKIES GET ", "Empty Cookies"); } else { for (int i = 0; i < cookies.size(); i++) { Log.e("COOKIES GET ", cookies.get(i).getName()+"--"+cookies.get(i).getValue()); } } return cookies.get(0).getValue(); }
ユーザー名、パス、crsf をサーバーにポストする関数:
public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) { // Making HTTP GET request to get csrfmiddlewaretoken: try { HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new UrlEncodedFormEntity(params)); Log.e("JSON", "In login user 02.4"); HttpResponse httpResponse = httpClientStatic.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); ..... //Next is read respone, and return json type }
ログイン機能:
public JSONObject loginUser(String username, String password){ // Building Parameters List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("username", username)); params.add(new BasicNameValuePair("password", password)); csrfmiddlewaretoken = new JSONParser().getCsrfFromUrl(loginURL); params.add(new BasicNameValuePair("csrfmiddlewaretoken", csrfmiddlewaretoken)); JSONObject json = jsonParser.getJSONFromUrl(loginURL, params); return json; }
それでも 401 エラーと 500 ステータス :| が返されます。