如何在幕后运行网址而不在浏览器中显示?

时间:2010-07-26 19:30:28

标签: c# asp.net url

我想基本上运行一个我会在幕后生成的网址,而不是在浏览器中实际显示给用户...我想我可以使用HTTPWebRequest或类似卷曲的东西?...但我需要真的只是基本上访问/运行生成的URL?我怎么能这样做?

4 个答案:

答案 0 :(得分:6)

使用WebRequest课程及其朋友。

其他更现代的选项是WebClient类,在某些情况下可以更简单地使用,而HttpClient类可以让您对请求和响应进行非常详细的控制。

答案 1 :(得分:1)

我使用的一种方式:发布到隐藏的iframe

答案 2 :(得分:1)

这里有一个很好的例子http://www.netomatix.com/httppostdata.aspx

我复制并粘贴了用于浏览网址的示例方法:

private void OnPostInfoClick(object sender, System.EventArgs e)
{
    string strId = UserId_TextBox.Text;
    string strName = Name_TextBox.Text;

    ASCIIEncoding encoding=new ASCIIEncoding();
    string postData="userid="+strId;
    postData += ("&username="+strName);
    byte[]  data = encoding.GetBytes(postData);

    // Prepare web request...
    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://localhost/MyIdentity/Default.aspx");
    myRequest.Method = "POST";
    myRequest.ContentType="application/x-www-form-urlencoded";
    myRequest.ContentLength = data.Length;
    Stream newStream=myRequest.GetRequestStream();

    // Send the data.
    newStream.Write(data,0,data.Length);
    newStream.Close();
}

答案 3 :(得分:1)

我猜你在找这样的东西?

Dim request = WebRequest.Create(strUrl)
request.Method = "POST"
request.ContentType = "text/xml" 'change to whatever you need

如果要将此请求发送到需要此服务的Web服务,请使用以下部分创建请求正文,例如

Using sw As New StreamWriter(request.GetRequestStream())
    sw.WriteLine(HtmlOrXml)
End Using

获得回复:

Dim response = CType(request.GetResponse(), HttpWebResponse)

然后,您可以使用StreamReader读取响应。您可以在MSDN上找到有关上面使用的类的更多信息。