有一个网站: http : //site.domain.com提示与“Windows安全”对话框的凭据。 所以我设法使用WebBrowser控件导航到页面并发送键盘input密码 – 我无法find另一种方式。 现在我来到网站生成一个链接到我想要下载的文件,它看起来像这样: http : //site.domain.com/operations/reporting/csv/Report720_2553217.csv 我试图使用WebClient下载文件,但它什么也不做(br是我的WebBrowser控件): WebClient wb = new WebClient(); wb.Headers.Add( br.Document.Cookie); wb.DownloadFile(link, @"report.csv"); 我一直在试图find一个工作的解决scheme无济于事。 我知道Web客户端没有通过validation,所以试图使用Web浏览器的cookie,但它不起作用。 该cookie看起来如下所示: TLTUID = 61FE48D8F9B910F9E930F42D6A03EAA6; TLTSID = 0B2B8EE82688102641B7E768807FA8B2; s_cc = TRUE; s_sq =%5B%5BB%5D%5D; ASPSESSIONIDQQSTRDQS = FNPJCODCEMGFIDHFLKDBEMHO 所以我有两个问题: 如何让networking客户端下载可从networking浏览器会话访问的文件。 上面的代码示例中,我做了什么错误? 有没有简单的方法来使用WebBrowser完全下载并保存该文件到我select的path和文件名? 或者如何做到这一切使用WebClient或其他东西?
我正在使用.NET 4 C#。 我试图上传,然后下载一个ZIP文件到(我的)服务器。 上传我有 using (WebClient client = new WebClient()) { FtpWebRequest request = (FtpWebRequest)WebRequest.Create(MyUrl); request.Method = WebRequestMethods.Ftp.UploadFile; request.EnableSsl = false; request.Credentials = new NetworkCredential(MyLogin, MyPassword); byte[] fileContents = null; using (StreamReader sourceStream = new StreamReader(LocalFilePath)) { fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); } request.ContentLength = fileContents.Length; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(fileContents, 0, fileContents.Length); } […]
我正尝试使用WebClient / WebRequest访问网站上的受限数据。 该网站没有官方的API,所以我想要做的只是填写HTML表单,并将值发布到服务器,所以我login。 我试过这个和这个 ,但它看起来不像即将到来的请求login。 后者的例子更吸引人,因为我显然更喜欢WebClient ,但是传统的WebRequest会做。 无论如何,在第一个例子中,我认为它已经login,但即将到来的请求访问私人数据返回一个消息“这是仅限会员的内容”的页面。 如何使WebClient永久login?
我将我的代码格式的XML切换到JSON。 但我找不到如何从给定的url获取JSONstring。 URL是这样的:“ https://api.facebook.com/method/fql.query?query=…..&format=json ” 我之前使用过XDocuments,在那里我可以使用load方法: XDocument doc = XDocument.load("URL"); JSON的这种方法相当于什么? 我正在使用JSON.NET。
我想在C#中使用WebClient对象下载某些内容,但是下载域需要我login。如何使用WebClientlogin并保存会话数据? 我知道如何使用WebClient发布数据。
我们的networking应用程序运行在.Net Framework 4.0中。 UI通过ajax调用来调用控制器方法。 我们需要从我们的供应商处使用REST服务。 我正在评估在.NET 4.0中调用REST服务的最佳方式。 REST服务需要基本身份validationscheme,它可以以XML和JSON格式返回数据。 不需要上传/下载庞大的数据,以后我什么都看不到。 我看了一些关于REST消耗的开放源代码项目,并没有在这些项目中find任何价值来说明额外的依赖关系。 开始评估WebClient和HttpClient 。 我从NuGet下载了.Net 4.0的HttpClient。 我searchWebClient和HttpClient之间的差异, 这个网站提到,单个HttpClient可以处理并发调用,它可以重用parsing的DNS,cookieconfiguration和身份validation。 我还没有看到由于差异而可能获得的实际价值。 我做了一个快速的性能testing,以查找WebClient (同步调用), HttpClient (同步和asynchronous)如何执行。 这里是结果: 对所有请求使用相同的HttpClient实例(min – max) WebClient同步:8毫秒 – 167毫秒 HttpClient同步:3毫秒 – 7228毫秒 HttpClientasynchronous:985 – 10405毫秒 对每个请求使用新的HttpClient (min – max) WebClient同步:4毫秒 – 297毫秒 HttpClient同步:3毫秒 – 7953毫秒 HttpClient async:1027 – 10834 ms 码 public class AHNData { public […]
我希望自动解压GZiped响应。 我正在使用下面的代码片段: mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip"; mywebclient.Encoding = Encoding.UTF8; try { var resp = mywebclient.DownloadData(someUrl); } 我已经检查HttpRequestHeader enum ,并没有select通过Headers做到这一点 我怎样才能自动解压缩resp? 或者是否有另一个function,我应该使用,而不是mywebclient.DownloadData ?
我试图下载客户端的数据到我的本地机器(编程),他们的networking服务器是非常,非常慢,这是导致我的WebClient对象超时。 这是我的代码: WebClient webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; webClient.DownloadFile(downloadUrl, downloadFile); 有没有办法在这个对象上设置无限超时? 或者,如果没有任何人可以帮助我在一个替代的方式来做这个例子吗? 该url在浏览器中正常工作 – 只需要大约3分钟即可显示。
那些“好的”RFC从每个RFC客户端强制要求他们不要使用每个主机超过2个连接。 微软在WebClient中实现了这一点。 我知道它可以closures App.config中: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.net> <connectionManagement> <add address="*" maxconnection="100" /> </connectionManagement> </system.net> </configuration> (在http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/1f863f20-09f9-49a5-8eee-17a89b591007上find) 但是,我怎样才能以编程方式? 按照http://msdn.microsoft.com/zh-CN/library/system.net.servicepointmanager.defaultconnectionlimit.aspx “更改DefaultConnectionLimit属性对现有的ServicePoint对象没有影响;它仅影响在更改后初始化的ServicePoint对象。如果此属性的值未直接或通过configuration设置,则默认值为常量DefaultPersistentConnectionLimit。 我想在实例化WebClient时尽可能地configuration这个限制,但是在我的程序开始时以编程方式删除这个可悲的限制也是可以的。 我访问的服务器不是在互联网上的普通networking服务器,而是在我的控制下,在本地局域网中。 我想做API调用,但我不使用Web服务或远程处理
我正在使用webClient.DownloadFile()下载一个文件,我可以设置这个超时,这样它不会花很长时间,如果它不能访问该文件?