我需要将数据发布到网站.所以我在C#.net中创建了一个小应用程序,我打开这个网站,并用数据库中的值填充所有的控件(单选按钮,文本框,复选框等).我也有一个点击事件在提交按钮.然后该应用程序等待10-15秒,然后将该网页的响应复制到我的数据库.
正如你所看到的,这真是一个忙碌的过程.如果有数以千计的上传记录,这个应用程序需要更长的时间(因为它等待15秒的响应).
有没有其他方式发布数据?我正在寻找一些类似于将所有领域与其值进行连接的东西,并像数据流一样将其上传.如果网站是https而不是http,这将如何工作?
解决方法
您可以使用
HttpWebRequest执行此操作,您可以将要发布的所有值连接到请求的单个字符串中.它可能看起来像这样:
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,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();
这种方法对于http和https应该是正常的.