c# - 如何使用 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;
}
}
解决方案
根据此处找到的文档,您可以将 KeepAlive 设置为 true 以保持持久连接。
推荐阅读
- postgresql - 不迟于今天生成系列
- java - 订购 Google Cloud Pub/Sub 消息 - java 示例程序
- php - 当我要清除缓存时,Drupal 8 项目中出现 ReflectionException 错误
- nativescript - 使用 nativescript 的窗口、addEventListener 的替代方法是什么?
- deep-learning - 收集 Deblur_Net 有什么要求?
- .net-core - Azure 函数 TargetFramework
- node.js - npm 需要更高的节点版本才能安装更高的节点版本...?
- wcf - 测试客户端 WCF 抛出错误 wjen 调用
- android - 如何提高 Android 上的动画性能?
- html - 配置文件框的html模板