首页 > 解决方案 > 如何使用 HttpWebRequest 留在页面上?

问题描述

所以我试图模拟一个人在我的网站上,在这种情况下它是我的控制台应用程序。

我可以使用 HttpWebRequest 连接到它并创建一个 WebRequest,但它不会在我的仪表板中显示为网站上的人。但是,当我通过网络浏览器手动访问我的网站时,它说有人在我的仪表板系统 (WordPress) 中的网站上在线,

所以我的问题是,我该如何完成同样的事情,我是否必须创建一个 Socket 连接?或者这是否可能通过使用KeepAlive,因为我认为问题是它在页面上的时间不够长,它连接并获取请求,但如果这有任何意义,它实际上并没有建立连接。这只是我的理论,如果我错了,请纠正我。

public static bool isServerOnline()
        {
            Boolean ret = false;

            try
            {
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://arcticinnovative.com");
                req.CookieContainer = cookieContainer; // <= HERE
                req.Method = "HEAD";
                req.KeepAlive = false;
                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                if (resp.StatusCode == HttpStatusCode.OK)
                {
                    // HTTP = 200 - Internet connection available, server online
                    ret = true;
                }
                resp.Close();
                return ret;

            }
            catch (WebException we)
            {
                // Exception - connection not available
                Debug.Print("InternetUtils - isServerOnline - " + we.Status);
                return false;
            }
        }

标签: c#.nethttpwebrequest

解决方案


根据此处找到的文档,您可以将 KeepAlive 设置为 true 以保持持久连接。


推荐阅读