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();
}
}
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.
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.
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
Es gab einen guten Artikel, also werde ich darauf verweisen
http://qiita.com/mogulla3/items/189c99c87a0fc827520e
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.