C# winform程序中,怎样获取http中请求的url
各位高手帮帮忙:有一个网页正在打开,可能要经过跳转才能到最终的页面
我用C# winform程序,怎么样从http请求中去获取正在打开网页的URL呢?包括中间的URL和最终打开网页的URL --------------------编程问答-------------------- 请高手帮帮忙 --------------------编程问答-------------------- 有一个网页正在打开,可能要经过跳转才能到最终的页面
--------------------------------
前一部分是客户端的发生,后一部分是服务端的发生(server.transfer),你的winform可以同时运行在两边吗?
--------------------编程问答-------------------- silence like a cancer grows --------------------编程问答-------------------- 不好办...
关注一下.. --------------------编程问答-------------------- 关注+学习 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 都是在客户端发生的,
我先打开一个网页,这个网页正在打开中,然后我马上运行程序来获取网页的URL. --------------------编程问答-------------------- 简单的做法是 在winform里嵌套webbrowser,通过url获得用户浏览的网页,否则就只能考虑ie窗口的句柄等,这个不懂,不过“包括中间的URL和最终打开网页的URL”是不能获取的,服务器的页面跳转不可能在客户端获取得到 --------------------编程问答-------------------- webclient --------------------编程问答-------------------- 模糊,再看一下 --------------------编程问答-------------------- 用Request.ServerVariables ( 服务器环境变量 )试试,
服务器环境变量包括:
ALL_HTTP 客户端发送的所有 HTTP 标题文件。
CONTENT_LENGTH 客户端发出内容的长度。
CONTENT_TYPE 内容的数据类型。如:“text/html”。同附加信息 的查询一起使用,如 HTTP 查询 GET、POST 和 PUT。
LOCAL_ADDR 返回接受请求的服务器地址。如果在绑定多 个 IP 地址的多宿主机器上查找请求所使用的地址 时,这条变量非常重要。
LOGON_USER 用户登录 Windows NT 的帐号。
QUERY_STRING 查询 HTTP 请求中问号(?)后的信息。
REMOTE_ADDR 发出请求的远程主机 (client) 的 IP 地址。
REMOTE_HOST 发出请求的主机 (client) 名称。如果服务器无此 信息,它将设置为空的 MOTE_ADDR 变量。
REQUEST_METHOD 该方法用于提出请求。相当于用于 HTTP 的 GET、HEAD、POST等 等。
SERVER_NAME 出现在自引用 URL 中的服务器主机名、DNS 化名 或 IP 地址。
SERVER_PORT 发送请求的端口号。
--------------------编程问答-------------------- 顶.不太明白! --------------------编程问答-------------------- 在WINFORM不会这东东... --------------------编程问答-------------------- 用HttpWebRequest httpWebRequest;
HttpWebResponse webResponse;
收发,解析header文件,一步步的分析,应该能行吧.
具体实现没试过. --------------------编程问答-------------------- 好像不行吧 --------------------编程问答-------------------- private void Form_Load(object sender, EventArgs e)
{
browser.Navigating += browser_Navigating;
browser.AllowNavigation = true;
}
下面的 url 就是网页的url
private void browser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
string url = e.Url.Segments[e.Url.Segments.Length - 1];
HtmlElement he = browser.Document.GetElementById(url);
if (he != null) {
}
e.Cancel = true;
} --------------------编程问答-------------------- 我也不知道,正在找 --------------------编程问答-------------------- 你找一个RSS实例就会知道了。这样不好说。 --------------------编程问答-------------------- winform还真没有接触过
学习了 --------------------编程问答-------------------- --------------------编程问答-------------------- 顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶 --------------------编程问答-------------------- 重定向403这个你不能从单一的http请求中截获吧,用Webbrowser可以试试。。
补充:.NET技术 , C#