簡體   English   中英

如何將數據發布到網站

[英]How to post data to a website

我需要將數據發布到網站上。 所以我在C#.net中創建了一個小應用程序,在那里我打開這個網站,用我的數據庫中的值填寫所有控件(單選按鈕,文本框,復選框等)。 我還在SUBMIT按鈕上有一個點擊事件。 然后應用程序等待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, 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();

此方法應適用於http和https。

MSDN有一篇很棒的文章,其中包含詳細說明如何使用WebRequest類發送數據的分步說明。 下方鏈接:

http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

是的,有一個WebClient類。 查看文檔 有一些usful方法來發出GET和POST請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM