Uma implementação leve de análise. Este código não baixará nenhuma informação da Internet, nem executará scripts, é puramente analisando.
A análise é implementada através do MSHTML da MarkupService. Para usar esse código corretamente, você precisa adicionar uma referência MSHTML.
Como a interface dos imersistas não é definida no .NET, ela deve ser implementada por si só, e a definição da interface é:
| O conteúdo a seguir é o código do programa: [Comvisible (true), comimport (), GUID ("7FD52380-4E07-101B-AE2D-08002B2EC713"), interfaceTypeattribute (ComInterfacetype.Interfaceisiunknown)] publicInterfaceipersistSisttreaminit { voidgetClassId ([in, out] refGuidpClassid); [Return: Marshalas (UnManagedType.i4)] [PreserveSig] intisdirty (); voidload ([in, marshalas (não managedType.Interface)] uComistreampstm); VoidSave ([in, marshalas (UnManagedType.Interface)] Ucomistreampstm, [in, marshalas (não -managedtype.i4)] intfcleardirty); VoidgetSizemax ([Out, Marshalas (UnManagedType.lParray)] Longpcbsize); voidinitNew (); } |
|
| O conteúdo a seguir é o código do programa: inseguihtmldocument2parse (strings) { ihtmldocument2pdocument = newhtmldocumentClass (); if (pdocument! = null) { iPersistStreaminitppersist = pdocumentSperSistStStreaminit; ppsist.initNew (); ppsist = nulo; imakupServicesMs = pdocumentasimarkupServices; if (ms! = null) { imarkupContainerpmc = null; imarkuppointerpstart, pend; ms.createmarkuppointer (outpstart); ms.createmarkuppointer (ultrapassado); StringBuildersB = NewstringBuilder (s); intptrpSource = marshal.stringtohglobaluni (s); ms.parsestring (ref*(ushort*) psource.topointer (), 0, outpmc, pstart, pend); if (pmc! = nulo) { marechal.release (psource); returnpmcasihtmldocument2; } marechal.release (psource); } } returnNull; } |
|
Algo deu errado ao escrever o código. O primeiro parâmetro do MarkupService :: parsestring é o reembolso. Obviamente, para passar no código HTML, este USHort deve ser o primeiro Widechar, então aqui ignoramos o aviso do compilador usando o código inseguro.
Colete o código de efeitos especiais da página da web mais prático!