如何以编程方式请求ASP.NET中的URL?

时间:2009-08-20 17:44:57

标签: asp.net url

我希望服务器以编程方式调用URL(ashx页面)并将响应存储为字符串。使用HttpWebRequest似乎不会正常工作,因为我不想在那里重定向客户端。

感谢。

6 个答案:

答案 0 :(得分:13)

如果要调用另一个页面并以字符串形式返回响应,可以使用WebClient类。

var myWebClient = new WebClient();
string resultStr = myWebClient.DownloadString("http://www.google.com");

答案 1 :(得分:2)

首先,您需要通过“调用”来定义您的意思:

  • 用户的浏览器应该导航到特定的网址吗?使用Response.Redirect()

  • ASP.Net页面的输出是否应包含其他网址的内容?使用iframe

  • 您是否希望您的代码检索另一个URL的内容并进行处理?使用WebRequest.Create(),但请注意,默认情况下IIS用户会发出请求。

我认为HttpWebRequest 是“简单”的方式。这有什么不好的?

答案 2 :(得分:1)

在ashx中你应该使用Response.Redirect:

System.Web.HttpContext.Current.Response.Redirect("http://www.stackoverflow.com/");

或:

System.Web.HttpContext.Current.Server.Transfer("a path to a page on the same server");

在您的页面上,您可以执行以下操作:

  • 的Response.Redirect
  • Server.Trasfer
  • 为按钮添加Postbackurl属性
  • 使用简单的超链接

答案 3 :(得分:1)

没有发送请求就无法收到回复。使用HttpWebRequest或简化的WebClient类。

答案 4 :(得分:0)

的Response.Redirect( “SomeURL”);

答案 5 :(得分:0)

您可能想要使用套接字。但这听起来很疯狂。你可以使用XMLHttpRequest对象,你知道MSXML2.XMLHttpRequest,但那又是疯了。你的意思是“不发送字节信息”部分......