Tag: webclient

有没有办法用WebClient做PUT?

使用.NET 4.0中的WebClient类,有没有办法进行PUT? 我知道你可以使用DownloadString()和带有UploadString()的POST进行GET,但是有一个方法或属性可以让你做PUT吗? 谢谢。

使用WebClient C#添加请求标头

我有以下代码,我将一个网页下载到一个字节数组,然后用Response.Write打印它: WebClient client = new WebClient(); byte[] data = client.DownloadData(requestUri); /*********** Init response headers ********/ WebHeaderCollection responseHeaders = client.ResponseHeaders; for (int i = 0; i < responseHeaders.Count; i++) { Response.Headers.Add(responseHeaders.GetKey(i), responseHeaders[i]); } /***************************************************/ 除了响应头之外,我还需要添加请求头。 我尝试使用以下代码: /*********** Init request headers ********/ NameValueCollection requestHeaders = Request.Headers; foreach (string key in requestHeaders) { client.Headers.Add(key, requestHeaders[key]); } /***************************************************/ 但它不起作用,我得到以下exception: […]

使用.NET WebClient模拟XmlHttpRequest

使用XmlHttpRequest AFAIK我可以使用send方法下载和上传数据。 但WebClient有很多方法。 我不想要WebClient所有function。 我只想创建一个模拟XmlHttpRequest的对象,除了它没有XSS限制。 我也不关心将响应作为XML或甚至现在作为字符串。 如果我能把它作为一个足够好的字节数组。 我认为我可以使用UploadData作为我的通用方法,但是当尝试使用它下载数据时它会失败,即使它返回响应。 那么如何编写一个行为与XmlHttpRequest的send方法一样的方法呢? 编辑:我在这里找到了一个不完整的类,它正是一个XmlHttpRequest模拟器。 太糟糕了,整个代码都丢失了。

C#检测页面重定向

我正在尝试确定http://www.accreditedqualifications.org.uk上是否存在以下forms的资格: http://www.accreditedqualifications.org.uk/qualification/50084811.seo.aspx 50084811是最终用户输入的资格目标。 如果他们输入无效的例如 http://www.accreditedqualifications.org.uk/qualification/50084911.seo.aspx 它们被重定向到错误页面(据我所知,错误的http标题)。 有没有办法检测C#中的重定向。 我希望能够检测到http标头中的重定向(认为它将发出2)或类似的反对必须下载整个页面。 这可能会发生很多,所以我想尽量减少流量。 编辑 使用它来查看标题看起来像是为无效页面发出两个: http://pageheaders.com/display-http-headers.php?url=http%3A%2F%2Fwww.accreditedqualifications.org.uk%2Fqualification%2F50084911.seo.aspx&agent=ie6

“连接尝试失败,因为连接方在一段时间后没有正确响应”使用WebClient

我正在使用以下代码在本地机器上工作,但当我在服务器上尝试相同的代码时,它会抛出我的错误 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应 这是我的代码: WebClient client = new WebClient(); // Add a user agent header in case the // requested URI contains a query. //client.Headers.Add (“ID”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)”); Stream data = client.OpenRead(“http://” + Request.ServerVariables[“HTTP_HOST”] + Request.ApplicationPath + “/PageDetails.aspx?ModuleID=” + ID); StreamReader reader = new StreamReader(data); string s = […]

如何使用C#将多个文件从FTP服务器传输到本地目录?

我可以将一个文件从ftp服务器传输到本地目录。 使用以下代码 using (WebClient ftpClient = new WebClient()) { ftpClient.Credentials = new System.Net.NetworkCredential(“username”, “password”); ftpClient.DownloadFile(“ftp://website.com/abcd.docx”, @”D:\\WestHam\test.docx”); 但我不知道如何传输多个文件。 任何人都可以帮助我。 }

如何在WebClient请求中使用GET方法

我如何更改WebClient请求的方法? 它似乎只允许POST默认情况下。 即使在DownloadString的情况下。 try { WebClient client = new WebClient(); client.QueryString.Add(“apiKey”, TRANSCODE_KEY); client.QueryString.Add(“taskId”, taskId); string response = client.DownloadString(TRANSCODE_URI + “task”); result = JsonConvert.DeserializeObject<Dictionary>(response); } catch (Exception ex ) { result = null; error = ex.Message + ” ” + ex.InnerException; } 而Fiddler测试说: POST http://someservice?apikey=20130701-234126753-X7384&taskId=20130701-234126753-258877330210884 HTTP/1.1 Content-Length: 0

使用webclient上传文件405错误问题

VS C# 2005 我使用下面的代码将文件上传到运行Windows IIS 5.1的服务器。 我只是在运行Windows XP的本地服务器上进行测试。 但是,我不断收到以下错误消息: The remote server returned an error (405) Method Not Allowed 我确信这是一个IIS问题可能是权限的事情。 但是,我配置IIS以允许读取,写入和目录浏览。 我尝试上传的config.xml文件与可执行文件位于同一目录中。 private void upload_config_to_server() { Uri url = new Uri(“http://10.10.10.3/softphone/config.xml”); WebClient wc = new WebClient(); if (!wc.IsBusy) { try { wc.UploadFile(url, null, “config.xml”); } catch (WebException webex) { Console.WriteLine(“Web Exception {0}”, webex.Message); } catch […]

UploadStringAsync()的返回值。?

我的问题是正确的还是不正确我不知道,但我想知道是否可以使用WebClient返回post方法的UploadStringAsync()的值? string serviceURL = REST_URI + servicePath; Uri URI = new Uri(serviceURL); System.Net.WebClient webClient = new WebClient(); webClient.Headers[“ContentType”] = “application/json”; webClient.Headers[“Accept”] = “application/json”; webClient.UploadStringCompleted += this.sendPostCompleted; webClient.UploadStringAsync(URI, HTTP_POST, result); return ??; 如果我们可以返回UploadStringAsync(URI, HTTP_POST, result); 请告诉我?

远程服务器(403)使用WebClient时出现禁止错误

我试图使用WebClient查询一些URL。 我有一个集合,我循环访问以获取QueryString值,并构建最终的URL,然后将其传递给客户端。 它第一次执行得很好,我得到了适当的响应,但是,当它第二次进入循环时,我得到错误: System.Net.WebException – >远程服务器返回错误:(403)Forbidden。 如果我第一次得到回复。 然后我也应该收集其余的collections品。 有什么线索为什么? 我可能会缺少什么? 以下是我正在使用的代码段。 using(System.IO.StreamWriter file = new System.IO.StreamWriter(@”C:\sample.text”)) { foreach(var f in fileCollections) { strFinalURL = string.Empty; strFinalURL = “someURL” + f; // f can be considered as querystring param value try { using(var client = new WebClient()) { test = client.DownloadString(strFinalURL); if (!test.Contains(“somecondition”)) { file.WriteLine(“”); } […]