通过ASP.net发送HTTP Post请求

时间:2012-05-29 11:12:43

标签: c# asp.net forms http-post

由于我的项目存在这个问题,我遇到了障碍,任何形式的帮助都将受到高度赞赏。

我的问题是我希望用户输入(他们的)目的地&在我的网站发邮件。然后我将获取这些值并填写以下网站的文本字段,然后单击“请求度量按钮”。简而言之,一个简单的HTTP Post请求。

http://revtr.cs.washington.edu/

我的C#代码如下:

    // variables to store parameter values
    string url = "http://revtr.cs.washington.edu/";

    // creates the post data for the POST request
    string postData = ("destination=www.thechive.com&node=161&email=abc%40xyz.edu.pk&prediction=If+you+believe+you+know+the+traceroute+%28for+instance%2C+if+you+are+trying+out+our+system+using+a+destination+that+you+actually+control%29%2C+please+cut-and-paste+the+traceroute+into+this+box+to+aid+us+in+improving+our+system.");

    // create the POST request
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Method = "POST";
    webRequest.ContentType = "application/x-www-form-urlencoded";
    webRequest.ContentLength = postData.Length;

    // POST the data
    using (StreamWriter requestWriter2 = new StreamWriter(webRequest.GetRequestStream()))
    {
        requestWriter2.Write(postData);
    }

    //  This actually does the request and gets the response back
    HttpWebResponse resp = (HttpWebResponse)webRequest.GetResponse();

    string responseData = string.Empty;

    using (StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream()))
    {
        // dumps the HTML from the response into a string variable
        responseData = responseReader.ReadToEnd();
    }

    //  Now, find the index of some word on the page that would be 
    //     displayed if the login was successful
    int index = responseData.IndexOf("Measuring");

    if (index > -1)
        ListBox1.Items.Add("SUCCESS");

但是 responseData 表明程序运行时没有点击BUTTON(我从VS2010的调试器那里得到了这个信息)

1 个答案:

答案 0 :(得分:2)

似乎网址必须

string url = "http://revtr.cs.washington.edu/measure.php";

因为是表格的动作。