使用 C# 控制台应用程序打开和关闭 Internet 浏览器

Lya*_*all 2 c# console-application

我在 C# 中有一个简单的控制台应用程序,我将使用它来轮询三个 URL,以便更新由第三方制作的网站(库存水平、产品图片等)。控制台应用程序如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.Process.Start(@"http://URL1");
            System.Diagnostics.Process.Start(@"http://URL2");
            System.Diagnostics.Process.Start(@"http://URL3");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这完美地工作,但让窗口保持打开状态(在单个浏览器实例中打开三个选项卡)。由于这将每隔一小时左右运行一次,有没有办法让应用程序在打开窗口后“杀死”它们?否则 Internet Explorer 会话将缓慢消耗系统内存。

我找不到关于从控制台应用程序关闭浏览器的任何其他内容,但如果我错了,请指出正确的方向。

没有其他东西会使用浏览器,所以它不需要检查浏览器是否被控制台打开,它只需要关闭应用程序。它将作为远程服务器上的计划任务运行。谢谢。

解决方案

最简单的方法是HttpWebRequest按照建议更改为。结果代码如下:

static void Main(string[] args)
{
    HttpWebRequest myReq1 = (HttpWebRequest)WebRequest.Create("http://URL1");
    HttpWebRequest myReq2 = (HttpWebRequest)WebRequest.Create("http://URL2");
    HttpWebRequest myReq3 = (HttpWebRequest)WebRequest.Create("http://URL3");
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*iec 5

您不需要浏览器实例来请求 URL,您的控制台应用程序应使用 aWebClientHttpWebRequest.