HtmlAgilityPack Post Login
Je suis en train d'essayer de se connecter à un site en utilisant HtmlAgilityPack (site:http://html-agility-pack.net).
Maintenant, je ne peux pas vraiment comprendre comment aller à ce sujet.
J'ai essayé de réglage de l'Html, les valeurs d'un formulaire via
m_HtmlDoc.DocumentNode.SelectSingleNode("//input[@name='EMAIL']").SetAttributeValue("value", "myemail.com");
J'ai ensuite soumettre le formulaire avec
m_HtmlWeb.Load("http://example.com/", "POST");
Ce qui ne fonctionne pas bien. Ce n'est pas à vous connecter ou à quoi que ce soit. Est-ce que quelqu'avez d'autres idée?
Merci
source d'informationauteur Styles
Vous devez vous connecter pour publier un commentaire.
Le code HTML Agility Pack est utilisé pour analyser HTML - vous ne pouvez pas l'utiliser pour soumettre des formulaires. Votre première ligne des changements de code de l'analyse des nœuds dans la mémoire. La deuxième ligne de ne pas publier la page sur le serveur - il charge les DOM nouveau, mais à l'aide de la méthode POST au lieu de GET par défaut.
Il ne semble pas que vous devez analyser la page du tout à ce point, puisque vous connaissez déjà le nom de la commande. Utiliser le
HttpWebRequest
classe pour envoyer une requête post vers le serveur, avec la chaîneemail=acb#example.com
dans la demande.Voici un exemple que j'ai écrit quand j'avais besoin de quelque chose de similaire:
Si vous voulez le faire avec Html Agility Pack. Voici le code.
J'ai passé quelques heures sur ce sujet et a trouvé une solution très simple en fait.
J'ai :
.net de base 1.1.2
HttmlAgilityPack 1.4.9.5
connexion urlLogin: "www.url.com/login".
url urlData: "www.url.com/data/3" => pour obtenir cela, vous devez être connectés.
Ici ce que j'ai fait et il a fait un travail:
Je pense qu'Il faut se connecter d'abord votre
HttpClient
ensuite, vous pouvez envoyer la demande vous le souhaitez.Profiter de