Как отправить текст, используя класс HttpWebRequest в C # - PullRequest
0 голосов
/ 27 января 2011

У меня есть эта функция в C #, которая вызывается через таймер каждую 1 минуту ...

private void timer1_Tick(object sender, EventArgs e)

{
    string strServer = "hhttp://www.mydomain.net/save.php";
    try {
        HttpWebRequest reqFP = (HttpWebRequest)HttpWebRequest.Create(strServer);
        HttpWebResponse rspFP = (HttpWebResponse)reqFP.GetResponse();
        if (rspFP.StatusCode == HttpStatusCode.OK) { // ther is an internet connection
            //send the text stored in 'writeUp' string variable to the url via 'POST' methode
            rspFP.Close(); //is good to open and close the connection every minute
        }
    }
    catch (WebException) {
        //I don't know why to use try/catch... but I just don't want any errors to be poped up...
    }
    writeUp = "";
}

этот код написан для следующего:

проверка наличия соединенияна сайт ...
если он есть, то ... отправить текст из строковой переменной 'writeup' в файл 'save.php', хранящийся в корне сайта ...
гдестрока записи будет опубликована в php-файле с помощью метода 'POST' (вместо метода 'Get') ...
, поэтому я могу принять текст в PHP через переменную $ _POST ['writeup']
так что я могу затем обработать текст, как я хочу ...

больше вопросов ... лучше открывать и закрывать httprequest каждую минуту ... или держать его открытым все время, пока доступно подключение к Интернету ...

1 Ответ

1 голос
/ 27 января 2011
private void timer1_Tick(object sender, EventArgs e)    
{
    string strServer = "hhttp://www.mydomain.net/save.php";
    try 
    {
        var reqFP = (HttpWebRequest)HttpWebRequest.Create(strServer);

        reqFP.Method = "POST";
        reqFP.ContentType = "application/x-www-form-urlencoded";

        reqFP.ContentLength = writeup.Length;

        /*var rspFP = (HttpWebResponse)reqFP.GetResponse();
        if (rspFP.StatusCode == HttpStatusCode.OK) 
        {*/
            //WRITE STRING TO STREAM HERE
            using (var sw = new StreamWriter(reqFP.GetRequestStream(), Encoding.ASCII))
            {
                sw.Write(writeup);
            }   

            rspFP.Close(); //is good to open and close the connection every minute
        /*}*/       
    }
    catch (WebException) {
        //I don't know why to use try/catch... 
        //but I just don't want any errors to be poped up...
    }
    writeUp = "";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...