Ist es möglich, mit dem C# HTML Agility Pack eine Variable in den ausgewählten Knoten einzufügen?Variable in HTML-Eingabe-Tag-Wert injizieren mit Html Agility Pack C#
Ich habe mein HTML-Formular erstellt, geladen es, und ausgewählt, um den Eingangsknoten, die ich will, und jetzt würde Ich mag im Wertfeld
Hier eine SAML-Antwort injizieren ist ein bisschen des Code, den ich haben, zuerst das HTML-Dokument:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body runat="server" id="bodySSO">
<form id="frmSSO" runat="server" enableviewstate="False">
<div style="display:none" >
<input id="SAMLResponse" name="SAMLResponse" type="text" runat="server" enableviewstate="False" value=""/>
<input id="Query" name="Query" type="text" runat="server" enableviewstate="False" value=""/>
</div>
</form>
</body>
</html>
und hier ist die Funktion, die das HTML-Dokument lädt und wählt den Knoten ich möchte:
public static string GetHTMLForm(SamlAssertion samlAssertion)
{
HtmlAgilityPack.HtmlDocument HTMLSamlDocument = new HtmlAgilityPack.HtmlDocument();
HTMLSamlDocument.Load(@"C:\HTMLSamlForm.html");
HtmlNode node = HTMLSamlDocument.DocumentNode.SelectNodes("//input[@id='SAMLResponse']").First();
//Code that will allow me to inject into the value field my SAML Response
}
EDIT:
Ok, so habe ich erreicht die SAML-Response-Paket in das Feld „Wert“ des HTML-Input-Tag mit dieser Injektion:
HtmlAgilityPack.HtmlDocument HtmlDoc = new HtmlAgilityPack.HtmlDocument();
String SamlInjectedPath = "C:\\SamlInjected.txt";
HtmlDoc.Load(@"C:\HTMLSamlForm.txt");
var SAMLResposeNode = HtmlDoc.DocumentNode.SelectSingleNode("//input[@id='SAMLResponse']").ToString();
SAMLResposeNode = "<input id='SAMLResponse' name='SAMLResponse' type='text' runat='server' enableviewstate='False' value='" + samlAssertion + "'/>";
Jetzt müssen nur in der Lage sein ich hinzufügen, dass Tag zurück in die injizierte Original-HTML-Dokument
Ich denke, dass es etwas, das in dieser Frage sein könnte http://stackoverflow.com/questions/9520932/how-do-i-use-html-agility-pack-to-edit -an-html-Ausschnitt – Pete