-1

文件正在上传到 http 服务器,然后我需要连接到该服务器需要检查是否有新文件需要解析该文件。请告诉我如何使用 c# 连接到 http 服务器?以及如何检查它是新文件还是旧文件?

上传的网址如

http://uploadfiles.com/upload.php

这不是 FTP。

4

2 回答 2

1

我在我的一个项目中使用的东西连接到 http 并下载一些东西。上传方式相同

public string DLWindowUser(string caption, string caption2, string remote, string local, string user, string password)
        {
            FStatus = new SZOKZZ.FrmStatus();
            FStatus.InitProc(100);
            FStatus.SetCaption(caption, caption2);
            _DlError = null;
            string ret = "";
            using (WebClient webClient = new WebClient())
            {
                NetworkCredential c = new NetworkCredential();
                c.UserName = user;
                c.Password = password;
                webClient.Credentials = c;
                webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(DLDone);
                webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DLSetProc);
                webClient.DownloadFileAsync(new Uri(remote), local);
                FStatus.ShowDialog();
                if (_DlError != null)
                    ret = _DlError.Message;
            }
            return ret;
        }
于 2012-11-05T06:34:46.140 回答
0

将文件上传到服务器是第一步,但下载它们将取决于该服务器存储文件的位置以及是否可以通过某种协议访问它们。例如,如果文件存储在可通过 HTTP 协议访问的位置,您可以使用 aWebClient下载远程 url 的内容。

例如:

using (var client = new WebClient())
{
    byte[] data = client.DownloadData("http://uploadfiles.com/myfile.txt");
    // TODO: process the data
}

您还可以检查 WebClient 的其他方法,例如DownloadStringDownloadFile。所有方法也具有异步非阻塞等价物。

或者,如果它是您需要下载和解析的 XML 文件,您可以直接使用XDocument类:

var doc = XDocument.Load("http://uploadfiles.com/myfile.xml");
于 2012-11-05T06:32:36.563 回答