Comment simuler HTTP POST par programmation dans ASP.NET?
J'ai besoin de simuler un HTTP POST par programmation, c'est à dire, j'ai besoin de générer une Demande avec certaines variables POST et puis de l'envoyer à une page.
Pour clarifier, j'ai besoin de simuler le comportement d'un POSTE, de ne pas faire la même chose en programmant. Donc en gros, j'ai besoin de remplir une Demande de la même façon, il serait remplie si un POST de formulaire qui se passait, et puis de l'envoyer au navigateur de la page qui s'attend à la POSTE.
Vous devez vous connecter pour publier un commentaire.
Ici est une façon de le faire.
Vous envoyer cette méthode, l'url et le nom/valeur des paramètres sous la forme d'un NameValueCollection. La méthode permet un Http Post sur l'ordinateur d'extrémité et retourne la réponse sous forme de chaîne.
De cours en fonction de quoi vous êtes en train de faire cela, et combien de fois cette méthode sera appelée, il y a peut-être d'autres alternatives. Mais jusqu'à ce que vous fournir plus d'informations sur vos besoins spécifiques, cette méthode est assez bon.
La méthode ci-dessous utilise des Tâches (.NET 4.0) et les méthodes asynchrones de sorte qu'il sera plus rapide, puis une méthode synchrone comme le code suivant dans la liste si vous modifiez plusieurs appels dans une boucle par exemple.
vous pourriez aussi utiliser un client web (c'est plus simple). Cette méthode attend les paramètres post comme une chaîne de caractères sous la forme
etc. Donc, si vous utilisez cette méthode, assurez-vous de passer vos paramètres en tant que tel, ou de modifier la mise en œuvre, comme le code ci-dessus.
Quelque chose comme cela?
J'ai posé cette question dans le passé ici:
POST d'un Formulaire HTML par programmation?
J'ai été dirigé vers le lien suivant qui a très bien fonctionné pour moi!:
WebClient.UploadValues
Je ne pense pas que c'est facile à faire ce que vous voulez, mais il y a peut être une solution acceptable.
Voici quelques idées pour les solutions de contournement:
Vous avez besoin HttpWebRequest classe.