0

Первые попытки воспроизведения фильмов со сторонних ресурсов

This commit is contained in:
2016-03-24 00:34:26 +03:00
parent c3389e36a7
commit 66aa27859d
8 changed files with 97 additions and 6 deletions

View File

@@ -14,8 +14,8 @@ dependencies {
providedCompile (['javax.servlet:javax.servlet-api:3.0.1'])
compile (['org.jsoup:jsoup:1.8.3'])
compile (['org.freemarker:freemarker:2.3.23'])
testCompile (['junit:junit:4.12'],
['com.google.code.gson:gson:2.4'])
compile (['com.google.code.gson:gson:2.4'])
testCompile (['junit:junit:4.12'])
}
idea.module.downloadSources = false

View File

@@ -50,7 +50,8 @@ public class Hdrezka implements KinoWarez {
}
@Override
public void player(String page) {
public String player(String page) {
//TODO ignore
return "";
}
}

View File

@@ -6,5 +6,5 @@ import java.util.List;
public interface KinoWarez {
void search(String nameKino, List<Kino> outList, boolean strong);
void player(String page);
String player(String page);
}

View File

@@ -1,5 +1,7 @@
package kinosearch.core.warez;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import kinosearch.core.browser.Browser;
import kinosearch.core.Kino;
import kinosearch.core.Tools;
@@ -54,7 +56,23 @@ public class Onlinelife implements KinoWarez {
}
@Override
public void player(String page) {
//TODO some code...
public String player(String page) {
String movie_id = page.substring(1,page.indexOf("-"));
Browser browser = Tools.createBrowser();
browser.setEncoding("windows-1251");
browser.setHeader("Referer", "http://dterod.com/player.php?newsid=" + movie_id);
String html = browser.get("http://dterod.com/js.php?id=" + movie_id);
html = html.substring(0, html.indexOf('\n')).trim();
String json = html.substring(html.indexOf('{'), html.indexOf("};")+1);
JsonObject jsonObj = new Gson().fromJson(json, JsonObject.class);
if (jsonObj.has("file")) {
return jsonObj.get("file").getAsString();
} else if (jsonObj.has("pl")) {
return jsonObj.get("pl").getAsString();
} else {
return "";
}
}
}

View File

@@ -0,0 +1,53 @@
package kinosearch.webapp.servlets;
import kinosearch.core.warez.KinoWarez;
import kinosearch.core.warez.Onlinelife;
import kinosearch.webapp.WebApp;
import kinosearch.webapp.template.TemplateProcessor;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
/**
* Created by DmitriyMX <mail@dmitriymx.ru>
* 2016
*/
public class PlayerServlet extends HttpServlet {
private TemplateProcessor template;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
template = WebApp.getTemplateProcessor();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if (req.getPathInfo() == null) return;
Map<String, Object> model = WebApp.getDefaultModel(getServletContext());
model.put("raw_data", String.format(
"req.getPathInfo() = %s\n" +
"req.getServletPath() = %s",
req.getPathInfo(), req.getServletPath()));
KinoWarez kinoWarez = new Onlinelife();
String movie_url = kinoWarez.player(req.getPathInfo());
model.put("movie_url", movie_url);
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
try {
template.process("player.html", model, resp.getWriter());
} catch (IOException e) {
log("Error process template", e);
resp.sendError(500);
}
}
}

View File

@@ -0,0 +1,3 @@
<#include "/header.inc.html">
<video id="player" src="${movie_url}" class="center-block" controls="controls"></video>
<#include "/fother.inc.html">

View File

@@ -17,6 +17,11 @@
<servlet-class>kinosearch.webapp.servlets.TemplateServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>player</servlet-name>
<servlet-class>kinosearch.webapp.servlets.PlayerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>index</servlet-name>
<url-pattern>/</url-pattern>
@@ -28,6 +33,11 @@
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>player</servlet-name>
<url-pattern>/onlinelife/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/js/*</url-pattern>

View File

@@ -53,3 +53,9 @@ input.check-middle {
.news time {
font-weight: bold;
}
#player {
width: 100%;
height: auto;
background-color: #122b40;
}