Ich versuche, Captcha in C# -Anwendung zu re-implementieren. Problem, weil keine Erfahrung in JS.mit Jura-Code bewerten, die HTML ändern
Die GET-Anfrage gibt Daten, die das captcha src-Tag enthalten, standardmäßig leer.
...
<div class="context"><img src="" id="capchaVisual" alt="loading..."></div>
...
Es gibt auch einige Javascript, das Captcha füllt, wie folgt aus:
function() {
var h = window.location.href;
if (h.indexOf("mytag") + 1) {
var scr = $("#capchaVisual").attr("src");
$("#capchaVisual").attr("src", scr + "data:image/jpeg;base64,/9j/MYCAPTCHADECODED...");
}
Meine Schritte in C# Anwendung:
- laden json mit Daten und Skripte über WebClient und JavaScriptSerializer. Erledigt. Ergebnis gespeichert in jsonobject Antwort, wobei answer.data html enthält, und answer.e - Skripts auszuführen.
Try geladene Skripte über Jurassic auszuführen:
var engine = new Jurassic.ScriptEngine(); engine.EnableDebugging = true; //engine.SetGlobalValue("window", answer.data); foreach (var line in answer.e) { var evalresult = engine.Evaluate(line); string t = evalresult.ToString(); }
fehlgeschlagen mit: Reference: Fenster nicht definiert.
Wenn Zeile 3engine.SetGlobalValue("window", answer.data)
auskommentiert, erhalten Sie einen weiteren Fehler: TypeError: undefined kann nicht in ein Objekt konvertiert werden.