我希望服务器以编程方式调用URL(ashx页面)并将响应存储为字符串。使用HttpWebRequest似乎不会正常工作,因为我不想在那里重定向客户端。
感谢。
答案 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");
在您的页面上,您可以执行以下操作:
答案 3 :(得分:1)
没有发送请求就无法收到回复。使用HttpWebRequest或简化的WebClient类。
答案 4 :(得分:0)
的Response.Redirect( “SomeURL”);
答案 5 :(得分:0)
您可能想要使用套接字。但这听起来很疯狂。你可以使用XMLHttpRequest对象,你知道MSXML2.XMLHttpRequest,但那又是疯了。你的意思是“不发送字节信息”部分......