Je dois poster des données sur un site Web. J'ai donc créé une petite application en C # .NET où j'ouvre ce site Web et remplissez toutes les commandes (boutons radio, boîtes de texte, cochonsecoses, etc.) avec les valeurs de ma base de données. J'ai aussi un événement de clic sur le bouton Soumettre. L'application attend ensuite 10-15 secondes, puis copie la réponse de la page Web à ma base de données. P>
Comme vous pouvez le constater, c'est vraiment un processus hectique. S'il y a des milliers d'enregistrements à télécharger, cette application prend beaucoup plus de temps (car il attend 15 ans pour la réponse). p>
Y a-t-il une autre façon de poster des données? Je cherche quelque chose comme concaténer tous les champs avec sa valeur et le télécharger comme un flux de données. Comment cela fonctionnera-t-il si le site Web est https et non http? P>
3 Réponses :
MSDN a un excellent article avec des instructions étape par étape détaillant la manière dont vous pouvez utiliser la classe WebRequest pour envoyer des données. Lien ci-dessous: P>
Oui, il existe une classe code> webclient code>. Regardez dans Documentation . Il existe une méthode utilisée par une méthode utilisée pour obtenir des demandes d'obtention et de poste. P>
Vous pouvez utiliser httpwebrequest pour le faire, et vous pouvez concaténer tout Les valeurs que vous souhaitez poster dans une seule chaîne pour la demande. Cela pourrait ressembler à quelque chose comme ceci:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.yoursite.com"); request.Method = "POST"; formContent = "FormValue1=" + someValue + "&FormValue2=" + someValue2 + "&FormValue=" + someValue2; byte[] byteArray = Encoding.UTF8.GetBytes(formContent); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); WebResponse response = request.GetResponse(); dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = HttpUtility.UrlDecode(reader.ReadToEnd()); //You may need HttpUtility.HtmlDecode depending on the response reader.Close(); dataStream.Close(); response.Close();
J'ai presque oublié de vous dire que le lien que j'ai besoin d'accéder nécessite une connexion en utilisant le nom d'utilisateur et le mot de passe. Comment puis-je incorporer cela dans ce code?
Voici ce que je fais en ce moment en utilisant le navigateur. Page 1: Entrez les informations de connexion. Appuyez sur Soumettre la page 2: a 2 cadres. Dans Top Frame, je saisis une adresse email et cliquez sur Charger les enregistrements. Cela remplit toutes les informations dans le cadre inférieur 2.
J'ai besoin d'aide que je souhaite également transférer mes données telles que FiDNAMNAME sur eService.dohms.gov. AE / PSERVICES / CREEPID0.ASPX Compte tenu du site Web. est possible ??