Stacktrace: java.lang.NullPointerException
at org.appwork.storage.simplejson.
JSonParser.skipWhiteSpace(
JSonParser.java:615)
at org.appwork.storage.simplejson.
JSonParser.parseValue(
JSonParser.java:511)
at org.appwork.storage.simplejson.
JSonParser.parse(
JSonParser.java:215)
at org.jdownloader.scripting.JavaScriptEngineFactory.
jsonToJavaObject(JavaScriptEngineFactory.java:998)
at jd.plugins.decrypter.SpankBangComCrawler.findQualities(SpankBangComCrawler.java:416)
at jd.plugins.decrypter.SpankBangComCrawler.parseCrawlSingleVideo(SpankBangComCrawler.java:250)
at jd.plugins.decrypter.SpankBangComCrawler.crawlSingleVideo(SpankBangComCrawler.java:210)
…
now check the source code of a
spankbang.com video URL, you'll find a line like this:
Code:
var stream_data = {'240p': ['…
the stacktrace from above shows that it tries to parse this as JSON, which it is not - it is JavaScript, it uses single quotes. JSON uses double quotes, i.e. if it should be parsable as JSON it would have look like this instead:
Code:
var stream_data = {"240p": ["…
I think it's a reasonably safe bet that this line doesn't contain literal quotes and as quick and dirty workaround simply replace all single quotes with double quotes to make it parsable as JSON again:
js.replaceAll("'","\"")
PATCH:
Code:
Index: src/jd/plugins/decrypter/SpankBangComCrawler.java
===================================================================
--- src/jd/plugins/decrypter/SpankBangComCrawler.java
+++ src/jd/plugins/decrypter/SpankBangComCrawler.java
@@ -437,7 +437,7 @@ public class SpankBangComCrawler extends PluginForDecrypt {
/* 2021-06-10 */
final String js = br.getRegex("var stream_data = (\\{.*?\\})").getMatch(0);
try {
- final Map<String, Object> entries = (Map<String, Object>) JavaScriptEngineFactory.jsonToJavaObject(js);
+ final Map<String, Object> entries = (Map<String, Object>) JavaScriptEngineFactory.jsonToJavaObject(js.replaceAll("'","\""));
for (final String q : knownQualities) {
final Object qO = entries.get(q);
if (qO == null) {
Edit: the forum-software seems to be eating one backslash in front of a double quote if it is not in a code-block when clicking "Preview Changed"; adjusted accordingly