c# - 如何使用 C# 将文件发送到 Apache2 网站?
问题描述
所以,我用 C# 编写了一些代码,用于检查某个网站上文件中的内容。当它检测到该文件中的更改时,它将执行一些命令。现在我在想,有没有办法将一些文件发送回网站?该网站在 Raspberry Pi 上使用 Apache2 托管。这是我得到的代码:
using System;
using System.Net;
using System.IO;
using System.Threading;
namespace HttpGet
{
class Program
{
static void Main(string[] args)
{
string lastdata = "nice";
int strtp = 0;
string PCName = Environment.MachineName.ToString();
while (true)
{
Console.WriteLine("try..");
var uri = new Uri("http://192.168.1.76/comm.txt");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
using var response = (HttpWebResponse)request.GetResponse();
using var stream = response.GetResponseStream();
using var reader = new StreamReader(stream);
var data = reader.ReadToEnd();
if ((lastdata != data) || (strtp == 0))
{
Console.WriteLine("New data:");
Console.WriteLine(data);
lastdata = data;
string appdata = Environment.ExpandEnvironmentVariables("%appdata%");
string path = appdata + @"\temp\temp.bat";
string pathfold = appdata + @"\temp";
string createText = data; ;
if (!Directory.Exists(pathfold))
{
Directory.CreateDirectory(pathfold);
}
using (StreamWriter writer = new StreamWriter(path))
{
writer.WriteLine(createText);
}
System.Diagnostics.Process.Start(path);
if(strtp == 0)
{
strtp = 1;
lastdata = data;
}
using (WebClient client = new WebClient())
{
client.Headers.Add("Content-Type", "application/octet-stream");
using (Stream fileStream = File.OpenRead(@"C:\Users\JEREDEK\Desktop\2\1.rar"))
using (Stream requestStream = client.OpenWrite(new Uri("http://192.168.1.76/stuff"), "POST"))
{
fileStream.CopyTo(requestStream);
}
}
}
else
{
Console.WriteLine("Nothing new.");
}
Thread.Sleep(3000);
}
}
}
}
我使用 Visual Studio 2019,这很重要。
解决方案
推荐阅读
- python - 使用 tf.keras 和 Inception-v3 进行迁移学习:没有进行任何训练
- xamarin.android - Xamarin Android:如何实现 ViewModelProvider 工厂?
- java - 如何在 Dockerfile 中使用 OTN 许可证下载和安装 JAVA
- python - 如何在熊猫 TimeDelta 函数上应用滚动函数
- javascript - JavaScript - 函数未按预期工作
- android - 下载带有改造和 rxJava 的文件列表
- jquery - 以编程方式将 HTML 字符串从 AJAX 加载到 Fancybox
- list - 将 numpy 数组存储在列表中
- vue.js - 如何使用 Vuetify 在轮播的分隔符上方添加文本?
- javascript - 如何使用 send_file() 接收从 Flask 发送的 Javascript 文件