使用c#实现简单的路由器重启功能

C#编程修改网络配置(跃点、路由) 修改网络配置网络上很多文章都是通过编程调用netsh,这样做是很简单,但是依赖外部程序,有效率问题、安全性问题。在这里我们试图通过纯编程实现修改网络配置的功能: 修改网络接口的优先级(Metric)、 增加/删除路由 阅读详情
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;

namespace routerApp
{
    class Program
    {
        static void Main(string[] args)
        {
            RestartRouter();

        }
        private static void RestartRouter()
        {
            HttpWebRequest request = null;
            HttpWebResponse response = null;
            string gethost = string.Empty;
            CookieContainer cc = new CookieContainer();
            string Cookiesstr = string.Empty;
            try
            {
                gethost = "http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7"; //路由器重启的地址
                request = (HttpWebRequest)WebRequest.Create(gethost);
                request.Method = "GET";
                request.KeepAlive = true;
                request.Headers.Add("Authorization:" + "Basic YWRtaW46YWRtaW4=");//授权的请求
                request.CookieContainer = cc;
                request.AllowAutoRedirect = false;
                response = (HttpWebResponse)request.GetResponse();
                //设置cookie   
                Cookiesstr = request.CookieContainer.GetCookieHeader(request.RequestUri);
                //取再次跳转链接   
                StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
                string content = sr.ReadToEnd();
                request.Abort();
                sr.Close();
                response.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("路由器重启失败!");  
            }
        }
    }
}
【海康威视Sionyx三个摄像头C#画面实现】 🥳🥳🥳现在,通过本文的介绍,我们成功实现了使用C#编程语言显示海康威视海康威视网络和Sionyx USB夜视三个摄像头,并实时显示摄像头的视频流。希望本文对您有所帮助!我们将使用海康威视的iVMS-4200软件进行摄像头的初始化和配置,并通过C#编写的上位机程序来显示摄像头的实时画面。它使各级海员都可以在没有白光或昂贵的热像仪的情况下,在没有月亮的星光下轻松发现障碍物和碎片,从而安全航行,避免碰撞,并最大限度地延长水上时间。如果想修改设备ip,双击设备的iPv4信息,按要求修改,输入摄像头密码,即可更 阅读详情

相关推荐

C#重启tplink路由器

提供路由的帐号密码,重启tplink路由器代码,一整个demo

c#重启路由方法

public static void RestartRouter(string routerIP, string name, string pwd) { WebClient client = new WebClient(); string str = Convert.ToBase64String(Encoding.Default.GetBytes(string.Format("{0

dongxiaohui2008的专栏 3804

c#重启路由几种方式(源码)

c#重启路由几种方式,代码短小简单,有源码

C# WebAPI 路由配置

背景:在开发项目的过程中,新创建了一个controller,发现vs会给我们直接在controller头添加前缀,比如[Route("api/[controller]")],即在访问接口的时候会变成http://localhost:8000/api/values,但是如果控制器有很多个,或者要进行版本迭代时,我们会发现痛苦的时刻降临了,要一个一个的修改。如果在这个时候可以进行全局配置前缀那真是福利呀,修改一处即可。ApiExplorerModel:包括描述信息,群组信息,可见性等。

书中自有妍如玉的博客 2373

用c#实现路由器自动断线换IP

我们目前使用的路由器都是WEB界面管理的,真正支持TELNET(23端口)的路由器很少.针对于此.我们可以通过socket操作路由器的80端口. 向路由器发送指令让它断线. 同时将路由器设置为自动连接.就能实现断线自动换IP功能了. 路由器登录验证方式是采用BASE64加密 登录名:密码 这样的格式.如admin:admin得到的加密码串是YWRtaW46YWRtaW4= 在c#里可以很容易的实现 Convert.ToBase64String(Encoding.Default.GetBytes("admin:admin")) 我们使用HTTP的GET操作 GET /userRpm/StatusRpm.htm?Disconnect=%B6%CF+%CF%DF&wan=1 HTTP/1.1 Host:192.168.1.1 Authorization:Basic YWRtaW46YWRtaW4= 就可以实现调用路由器断线操作 同理也可以用 GET /userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7 HTTP/1.1 Host:192.168.1.1 Authorization:Basic YWRtaW46YWRtaW4= 来实现路由器的重启 以上地址在TPLINK WR740N 和TPLINK R402M测试通过 其它品牌的路由器可以通过MX3的网络监控功能获取 获取的代码片断: 采用GET方式 var wlan_wds = 1; var wlan_rate = 0; <!-- function doRefresh() { location.href="/userRpm/StatusRpm.htm"; return true; } function doConnect(n) { var s = "&wan="+n; location.href="/userRpm/StatusRpm.htm?Connect=连 接"+s;return true; } function doDisConnect(n) { var s = "&wan="+n; location.href="/userRpm/StatusRpm.htm?Disconnect=断 线"+s;return true; } 断线调用的就是"/userRpm/StatusRpm.htm?Disconnect=断 线"这个地址 请不要使用本程序进行违反互联网法规的操作,更多c#应用欢迎交流

C# Java C++ C .Net 重启路由器的方法

C# Java C++ C .Net 重启路由器的方法 支持各种语言,但我只在TPLink的路由器下面做测试,

C# 程序自动重启的解决方法

很多时候,我们有这样的场景,需要让程序自动重启,有很多种方法,比如用微软自带提供的方法,或者自己开辟新的线程重新调用。下面简单介绍两种方法。

qq_27929003的博客 971

路由重启的小例子

此程序可以通过授权的方法,进行路由重启,只限于家用的TPLINK的路由器。

C# 路由器互动操作

//以D-Link DI-624+A为例:private void postrequest()        {            string userName = "admin";            string password = "702";            CookieContainer webCookieContainer = new CookieContainer()

ZENITH 2723

雪球股票数据接口

周期(day-日,week-周,…表示获取前8个周期(日)数据):类型(before-历史)表示深圳证券交易所,表示上海证券交易所):开始时间戳(一定要。

qq_31856061的博客 6803

Ubuntu22.04通过DKMS包安装Intel WiFi系列适配器(网卡驱动)

Ubuntu安装Intel WiFi系列适配器(网卡驱动)

lu_linux的博客 2598

用VS2013实现TP-Link路由器自动重启

要用代码重启路由器,主要是模拟路由器web界面上的重启按钮点下时浏览器发送到路由器的内容,通过firefox的httpfox插件抓取到当点下“重启路由器”时发送的内容是: GET /userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7 HTTP/1.1 Host:192.168.1.1 Referer:http://19

zucheng10的专栏 610

PMOS缓启动电路设计实战:用LTspice优化上电时序,把60A冲击降到15A

本文通过一个实战案例,深入解析了PMOS缓启动电路如何有效抑制上电冲击电流。文章指出,低ESR电容是导致冲击电流飙升的元凶,并详细阐述了利用LTspice仿真工具,通过优化栅极电阻和栅源电容等参数,将高达60A的冲击电流成功降至15A的设计与优化过程,为电源开关电路设计提供了可复用的方法论。

onion的博客 895

Telnet远程重启路由器TP-LINK

突然断网,以前房东的路由器管理页面可以打开,今天突然间就打不开了。ping了下,可以ping通,于是就想起了房东的路由器是TP-LINK的 可以 telnet登陆的。每次,断网,我都会重启房东的路由器。每次都会很快连上。这次也不例外。选择了用telnet 上后 用命令重启房东的路由器。 telnet 路由器ip 验证用户密码 Username: Password: 验...

weixin_34245169的博客 1345

kaggle-NeurIPS - Open Polymer Prediction 2025-0.069

本文摘要: 本研究基于多任务学习框架,开发了聚合物物理化学性质预测模型,能够根据SMILES字符串同步预测玻璃化转变温度(Tg)、分数游离体积(FFV)等5种关键性质。针对数据缺失率高、样本不均衡等挑战,采用"先补充后扩充"策略整合多源数据,并融合RDKit分子描述符、ChemBERTa语义特征和自编码器特征构建多维度表征。模型采用硬参数共享架构,结合动态加权损失函数和早停机制,在验证集上表现出色,其中密度预测R²达0.92。研究为聚合物性能的高通量预测提供了有效解决方案,对材料智能设计具有重要参考价值。

2302_78976920的博客 782

倍压整流电路设计

倍压整流电路利用二极管和电容的充放电特性实现电压提升,可分为二倍压、三倍压及多倍压结构。其工作原理是通过交流电正负半周交替对电容充电并叠加电压,具有结构简单、成本低的优点,但带载能力差且纹波较大。典型应用包括示波器、电蚊拍等小电流高压场景。设计时需重点考虑电容耐压、二极管选型和负载匹配,高频驱动可优化性能。该电路在低功耗高压电源中具有独特优势,但需注意安全防护与电压稳定性问题。

硬核科技 1707

自动登录TP-LINK路由器,获取所有信息,重启等等,实用方法

用Python自动登录TP-LINK路由器,获取信息,重启等操作 思路:想获取TP-LINK里面的所有信息,必须首先登录,然后提交相应的操作(比如重启) 1、 做任何操作,首先得登录到路由器 界面上面默认只有一个“密码”输入框,这里随便输入一个123密码发现,TP-LINK提交后的密码为加密后的,分析js就可以看到加密方法(下面会附上代码),再把加密后的密码提交就搞定啦 路由器登录post信息...

MaFei的博客 2983

Changer: Feature Interaction Is What You Need forChange Detection

还有“交换“交互是一种完全不需要参数和计算的操作,它是通过交换空间或通道维度上的双时态特征映射来实现的,交换的特征在经过后续的卷积或令牌混合时进行混合。方法二:提出了两种简单的交互策略,AD和特征“交换”,大量的实验表明,它们可以极大地提高MetaChanger的性能,特别是特征“交换”,即使嵌入到复杂的网络中或应用于具有挑战性的数据集。在这里,我们用虚线勾勒本文的重点。这是变化检测任务的基本问题,双时相图像提供了同一地区在不同时间点的图像数据,通过对比这两个时间点的图像,我们可以检测出该地区的变化。

yokon的博客 1619

VC实现控制路由器重新启动

[标题]:[原]VC实现重启路由器[时间]:2009-5-28[摘要]:使用VC发送一个HTTP请求给路由器,实现重启TP-LINK路由器功能。[关键字]:TP-LINK,Basic Authorization,Base64,GET,HTTP[环境]:TP-LINK TL-R402M SOHO 宽带路由器 , VC6 , HttpFox,Firebug[作者]:Winty (wintys@gmai

ZENITH 4956

华为OD机试真题:明日之星选举 (Java/Py/C/ C++/JS/GO)

华为OD机试(机考)双机位C卷 【明日之星选举】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 明日之星选举。

qq_45776114的博客 919

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C#获取路由器外网IP,MAC地址

C#实现的获取路由器MAC地址,路由器外网地址。对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码。至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密码,但是需要有一个代理页面获取客户端公网ip地址的,这样C#请求此页面即可获取到路由器公网ip地址。如:http://xxxx.getip.ashx测试路由为水星 MR804,水星 MR808,都可以...

weixin_33724659的博客 806

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝桥杯单片机国赛门禁系统实战:从状态机到EEPROM存储的51单片机综合设计

单片机系统设计是嵌入式开发的核心基础,其原理在于通过微控制器协调外设实现特定功能。在51单片机平台上,综合运用状态机、矩阵键盘、LCD显示和EEPROM存储等技术,能构建稳定可靠的应用系统,具有极高的教学与工程实践价值。这类系统常见于智能门锁、安防控制等物联网与自动化场景。本文以蓝桥杯国赛经典题目“门禁系统”为范例,深入剖析了如何利用状态机模型构建清晰逻辑,并通过矩阵键盘扫描与EEPROM读写实现密码输入与存储,为学习者提供了一个从模块驱动到系统集成的完整项目实践路径。

weixin_30740295的博客 449

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# 使用心跳机制实现 TCP 客户端自动重连

一、引言在网络编程中,维持客户端与服务器之间的稳定连接是一项挑战,尤其是在不稳定的网络环境下。TCP 连接可能会因为各种原因(如网络波动、服务器重启等)而断开,这会导致客户端无法正常接收数据或执行操作。为了解决这个问题,心跳机制被广泛应用于监测和维持连接状态。本文将通过 C# 实现一个带有心跳检测和自动重连功能的 TCP 客户端。二、心跳机制简介心跳机制是一种通过定期发送心跳包来检测网络连接状态的...

dotNET跨平台 1103
上一篇: Memcached缓存
下一篇: .NET源代码保护--MAXTOCODE
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值