[JAVA] Niconico API-Memo (Mal sehen und nachahmen)

Niconico API-Bibliothek

https://github.com/fujiriko59/nico-api-client

Ich habe die in verwendet, aber ich habe Fehler im Zusammenhang mit der Cookie- und XML-Analyse ausgelöst, also habe ich beschlossen, sie von Grund auf neu zu erstellen. Ich habe Gladle auch für Android verwendet und mich daher entschlossen, das Projekt mit Gladle zu verwalten. Wird zu einem späteren Zeitpunkt veröffentlicht.

Ich ging mehrere Stunden hin und her,

https://teratail.com/questions/31972

Es hat funktioniert, als ich mich darauf bezog Leider habe ich keine HTTP-bezogenen Kenntnisse **.

Login


    public static void login_test_from_teratail(){
        try {
            URI uri = new URI("https://secure.nicovideo.jp/secure/login?site=niconico");
            String mail = "Mead hier";
            String pass = "Passwort hier";
            HttpPost httpPost = new HttpPost(uri);

            RequestConfig requestConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build();
            httpPost.setConfig(requestConfig);

            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("mail", mail));
            params.add(new BasicNameValuePair("password", pass));
            httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));

            HttpClient httpClient = HttpClientBuilder.create().build();
            HttpResponse httpResponse = httpClient.execute(httpPost);



            //POST-Ergebnis
            String response1 = httpResponse.toString();
            String response2 ="";
            for (String str : response1.split(",",0)){
                response2 += str+"\n";
            }

            System.out.println(response2);

        }catch (Exception e){
            e.printStackTrace();
        }
    }

Wechseln Sie zu HttpURLConnection

In dem Kommentar habe ich darauf hingewiesen, dass der HttpClient von Apache veraltet ist, und habe mich daher entschlossen, CustomHttpClient mithilfe von HttpURLConnection selbst zu verwenden. Aber auch hier gibt es viele Probleme mit Cookies. Nach der Untersuchung scheint es ein solches Problem zu geben. --Das Ablaufdatum des Cookies wird durch Festlegen der Uhrzeit für jede Region auf 0 gesetzt (behoben ab dem 03.02.2017).

Infolgedessen kann die Sitzungs-ID nicht korrekt abgerufen werden. Aus diesem Grund habe ich mich für Class von der folgenden Site entschieden.

http://tomott.cocolog-nifty.com/blog/files/CorrectedCookieManager.java

Zitat: http://tomott.cocolog-nifty.com/blog/2010/09/javecookie5-5d9.html

Es ist eine Weile her seit der letzten Bearbeitung. Beschreibe, woran du dich erinnerst.

Informationen zum Herunterladen von Videodaten

Wenn ich ein Cookie vorbereite und direkt auf die URL des Videos klicke, wird 403 zurückgegeben. Vorher müssen Sie also auf eine URl zugreifen.

64K Problem

Ein Problem, bei dem Builds und Ausführungen fehlschlagen, wenn die Gesamtzahl der Methoden 64 KB überschreitet.

https://developer.android.com/studio/build/multidex.html

Aktueller Stand des Konzepts wie HTTP-Cookie

Es gab einen guten Artikel, also werde ich darauf verweisen

http://qiita.com/mogulla3/items/189c99c87a0fc827520e

Angeben von Cookies mit setVideoUri in VideoView

http://www.binzume.net/diary/2010-10-04:A1

Wie in geschrieben, dachte ich, dass ich in Schwierigkeiten war, weil ich Uri angeben konnte, aber keine Cookies, aber als ich mir die Android Developer-Site ansah,

setVideoURI


void setVideoURI (Uri uri, Map<String, String> headers)

Wurde auf API-Ebene 21 hinzugefügt. Dies scheint eine Lösung zu sein.

Recommended Posts

Niconico API-Memo (Mal sehen und nachahmen)
Memo zur Herstellung von Niconico API (Materialien)
API-Memo streamen
Lass es uns versuchen! Apache Derby