|
|
Veröffentlicht am 2.12.2020, 12:47:18
|
|
|
|

Anforderungen: Wenn wir HTTP-Anfragen simulieren, können die Anforderungsparameter und der Anforderungsinhalt einige Algorithmen enthalten, der Algorithmus kann aus JavaScript stammen; wenn wir den js-Algorithmus in die von uns verwendete Programmiersprache übersetzen (z. B. Java, C#), ist es schwieriger, meist ist der js-Inhalt komprimiert und verwirrt, daher ist es sehr gut, wenn wir js direkt in eine Klassenbibliothek übersetzen, die wir aufrufen können.
Verwenden Sie JSC, um das exe-Programm in JavaScript zu generieren.
test1.js Code lautet wie folgt:
Öffnen Sie den VS 2019-Entwicklerbefehl und geben Sie Folgendes ein:
Versuchen Sie, das main.exe-Programm auszuführen, wir führen das Programm über den cmd-Befehl aus, doppelklicken direkt und das Programm blinkt wie folgt vorbei:
Verwenden Sie JSC, um eine DLL-Bibliothek mit JavaScript zu generieren
test.js Code ist wie folgt:
Der Befehl lautet wie folgt:
Erstelle ein neues .NET 4-Konsolenprojekt, das auf die common.dll-Klassenbibliothek referenziert
Instanziiere dann das Objekt und rufe seine Methode auf. Der Code lautet wie folgt:
Wie unten gezeigt:
Sie können das ILSpy-Tool verwenden, um den generierten DLL-Quellcode anzuzeigen, wie in der untenstehenden Abbildung gezeigt:
jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parameter:
Microsoft (R) JScript Compiler Version 14.00.3752 für Microsoft (R) .NET Framework Version 4.0.30319 Urheberrecht (C) Microsoft Corporation. Alle Rechte vorbehalten.
JSC [Optionen] <源文件> [[Optionen] <源文件>...]
JScript-Compiler-Optionen
- Ausgabedatei - /out:<file> Spezifiziert den Namen der binären Ausgabedatei /t[arget]:exe Konsolenanwendung erstellen (Standard) /t[arget]: winexe, um eine Windows-Anwendung zu erstellen /t[arget]: Bibliothek erstellt eine Bibliotheks-Assembly /platform:<platform> Begrenzt die Plattformen, auf denen dieser Code ausgeführt werden kann; Muss x86, Itanium, x64 oder irgendeine beliebige CPU (Standardplattform) sein.
- Eingabedatei - /autoref[+|-] Autoreferenzassemblies basierend auf importierten Namensräumen und vollständig qualifizierten Namen (standardmäßig aktiviert) /lib:<path> Gibt das zusätzliche Verzeichnis an, in dem Sie nach Referenzen suchen möchten. /r[eference]:<Dateiliste> Verweist auf Metadaten aus der angegebenen Assemblerdatei <Dateiliste>: <Assemblyname>[; <Name der Versammlung>...]
-Quelle- /win32res:<file> Spezifiziert Win32-Ressourcendateien (.res) /res[ource]:<info> Die angegebene Ressource einbetten : <info><filename>[,<name>[,public|privat]] /linkres[ource]:<info> Verknüpft die angegebene Ressource mit dieser Assembler : <info><filename>[,<name>[,public|privat]]
- Codegenerierung - /debug[+|-], um eine Debug-Nachricht zu senden /fast[+|-] deaktiviert Sprachfunktionen, um die Codegenerierung zu verbessern /warnaserror[+|-] behandelt die Warnung als Fehler /w[arn]:<level> Stellen Sie die Warnstufe ein (0-4)
- Verschiedenes - @<filename> Für weitere Optionen lesen Sie bitte die Antwortdatei /? Show-Hilfe /Hilfe zeigt Hilfe /d[efine]:<symbols> Definiert bedingte Kompilierungssymbole /nologo zeigt das Copyright-Zeichen des Compilers nicht an /print[+|-] stellt die print()-Funktion bereit
- Fortgeschritten - /codepage:<id> Öffne die Quelldatei mit der angegebenen Codepage-ID /lcid:<id> Verwenden Sie die angegebene LCID für Nachrichten und Standardcodepages /nostdlib[+|-] importiert die Standardbibliothek (mscorlib.dll) nicht und ändert den Autoref-Standard auf ausgeschaltet /utf8output[+|-] gibt Compiler-Ausgabe in der UTF-8-Zeichenkodierung aus /versionsafe[+|-] gibt einen Standardwert für Mitglieder an, die nicht als "Override" oder "hide" markiert sind (Ende)
|
Vorhergehend:ASP.NET Core (iii) Erstellen Sie Instanzen dynamisch mit ActivatorUtilitiesNächster:Python verwendet http.server, um einen HTTP-Dienst zu öffnen
|