Questions tagged «webclient»

WebClient是.NET Framework应用程序的类,它提供用于从URI标识的资源发送和接收数据的方法。

8
如何在C#中使用WebClient将数据发布到特定的URL
我需要对WebClient使用“ HTTP Post”将一些数据发布到我拥有的特定URL。 现在,我知道可以使用WebRequest完成此操作,但是由于某些原因,我想改用WebClient。那可能吗?如果是这样,有人可以向我展示一些例子或为我指出正确的方向吗?
319 c#  post  webclient 

10
如何更改.NET WebClient对象上的超时
我正在尝试(以编程方式)将客户端的数据下载到本地计算机,并且他们的Web服务器非常非常慢,这导致我的WebClient对象超时。 这是我的代码: WebClient webClient = new WebClient(); webClient.Encoding = Encoding.UTF8; webClient.DownloadFile(downloadUrl, downloadFile); 有没有办法对此对象设置无限超时?否则,如果没有人可以通过替代方法帮助我举例说明呢? 该URL在浏览器中可以正常工作-仅显示3分钟即可显示。
230 c#  .net  file  download  webclient 

7
在HttpClient和WebClient之间决定
我们的Web应用程序在.Net Framework 4.0中运行。UI通过ajax调用来调用控制器方法。 我们需要使用供应商提供的REST服务。我正在评估在.Net 4.0中调用REST服务的最佳方法。REST服务需要基本身份验证方案,并且可以返回XML和JSON格式的数据。无需上传/下载大量数据,以后也看不到任何东西。我查看了一些用于REST的开源代码项目,但没有发现任何有价值的项目来证明该项目中的其他依赖性。开始评估WebClient和HttpClient。我从NuGet下载了.Net 4.0的HttpClient。 我搜索了WebClient和之间的差异HttpClient,该站点提到单个HttpClient可以处理并发调用,并且可以重用已解析的DNS,cookie配置和身份验证。我还没有看到由于差异而可能获得的实用价值。 我进行了快速性能测试,以了解WebClient(同步调用),HttpClient(同步和异步)的性能。结果如下: HttpClient对所有请求使用同一实例(最小-最大) WebClient同步:8毫秒-167毫秒 HttpClient同步:3毫秒-7228毫秒 HttpClient异步:985-10405毫秒 HttpClient为每个请求使用一个新的(最小-最大) WebClient同步:4毫秒-297毫秒 HttpClient同步:3毫秒 -7953毫秒HttpClient异步:1027-10834毫秒 码 public class AHNData { public int i; public string str; } public class Program { public static HttpClient httpClient = new HttpClient(); private static readonly string _url = "http://localhost:9000/api/values/"; public static void Main(string[] …

9
HTTP POST返回错误:417“预期失败。”
当我尝试发布到URL时,会导致以下异常: 远程服务器返回错误:(417)预期失败。 这是一个示例代码: var client = new WebClient(); var postData = new NameValueCollection(); postData.Add("postParamName", "postParamValue"); byte[] responseBytes = client.UploadValues("http://...", postData); string response = Encoding.UTF8.GetString(responseBytes); // (417) Expectation Failed. 使用一HttpWebRequest/HttpWebResponse对或一个HttpClient并没有什么不同。 是什么导致此异常?
212 c#  .net  http  http-post  webclient 


5
将CookieContainer与WebClient类一起使用
我以前在CookieHttpContainer和HttpWebRequest和HttpWebResponse会话中使用过,但是现在,我想在WebClient中使用它。据我了解,没有像HttpWebRequests(request.CookieContainer)那样的内置方法。如何在CookieContainer中从WebClient收集cookie? 我对此进行了搜索,发现了以下示例: public class CookieAwareWebClient : WebClient { private readonly CookieContainer m_container = new CookieContainer(); protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); HttpWebRequest webRequest = request as HttpWebRequest; if (webRequest != null) { webRequest.CookieContainer = m_container; } return request; } } 这是最好的方法吗?

3
如何从URL获取一个JSON字符串?
我将代码形式的XML从XML转换为JSON。 但是我找不到如何从给定的URL获取JSON字符串。 网址是这样的:“ https://api.facebook.com/method/fql.query?query=.....&format=json “ 我以前使用过XDocuments,可以在其中使用load方法: XDocument doc = XDocument.load("URL"); 此方法与JSON等效吗?我正在使用JSON.NET。

8
WebClient与HttpWebRequest / HttpWebResponse
在我看来,大多数可以完成的事情HttpWebRequest/Response也可以在WebClient课堂上完成。我在某处阅读WebClient了高级包装WebRequest/Response。 到目前为止,我看不到任何可以与完成HttpWebRequest/Response不能用完成WebClient,也没有在那里的HttpWebRequest /响应会给你更多的“细粒度”控制。 什么时候应该使用WebClient HttpWebRequest/Response?(显然,这HttpWebRequest/Response是特定于HTTP的。) 如果HttpWebRequest/Response是较低的水平WebClient,HttpWebRequest/Response那我不能完成的任务是WebClient什么?


10
如何从webclient获取状态代码?
我正在使用WebClient该类将一些数据发布到Web表单。我想获取表单提交的响应状态代码。到目前为止,我已经找到了发生异常时如何获取状态码的方法 Catch wex As WebException If TypeOf wex.Response Is HttpWebResponse Then msgbox(DirectCast(wex.Response, HttpWebResponse).StatusCode) End If 但是,如果表单提交成功并且没有抛出异常,那么我将不知道状态码(200,301,302,...) 没有抛出异常时,是否可以通过某种方式获取状态代码? PS:我不想使用httpwebrequest / httpwebresponse
90 c#  .net  vb.net  webclient 

5
如何以编程方式删除WebClient中的2个连接限制
那些“精细” RFC要求每个RFC客户端注意不要对每个主机使用超过2个连接... Microsoft在WebClient中实现了这一点。我知道可以用 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) 但是,我该如何以编程方式进行呢? 根据 http://msdn.microsoft.com/zh-cn/library/system.net.servicepointmanager.defaultconnectionlimit.aspx “更改DefaultConnectionLimit属性对现有ServicePoint对象无效;它仅影响更改后初始化的ServicePoint对象。如果尚未直接或通过配置设置此属性的值,则该值默认为常量DefaultPersistentConnectionLimit。” 当我实例化WebClient时,我最好配置该限制,但是只要在编程开始时以编程方式删除此可悲的限制也可以。 我访问的服务器不是Internet上的常规Web服务器,而是在我的控制下和本地局域网中。我想进行API调用,但是我不使用网络服务或远程处理

3
在C#中通过WebClient将JSON发布到URL
我有一些JavaScript代码需要转换为C#。我的JavaScript代码将一些JSON POST到已创建的Web服务。此JavaScript代码可以正常运行,如下所示: var vm = { k: "1", a: "2", c: "3", v: "4" }; $.ajax({ url: "http://www.mysite.com/1.0/service/action", type: "POST", data: JSON.stringify(vm), contentType: "application/json;charset=utf-8", success: action_Succeeded, error: action_Failed }); function action_Succeeded(r) { console.log(r); } function log_Failed(r1, r2, r3) { alert("fail"); } 我试图弄清楚如何将其转换为C#。我的应用程序正在使用.NET 2.0。据我所知,我需要执行以下操作: using (WebClient client = new WebClient()) { …
87 c#  webclient 

1
WebClient.DownloadString由于编码问题而导致字符变形,但浏览器正常
如下代码: var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20")); 产生一个变量text,其中包含字符串 “ $β$ -Minkowski空间,标量场和洛伦兹不变性问题” 但是,当我在Firefox中访问该URL时, $κ$ -Minkowski空间,标量场和洛伦兹不变性问题 这实际上是正确的。我也试过 var data = (new WebClient()).DownloadData("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"); var text = System.Text.UTF8Encoding.Default.GetString(data); 但这带来了同样的问题。 我不确定问题出在哪里。提要是否在于对UTF8进行编码,并且浏览器足够聪明以至于可以识别出来,但事实并非如此WebClient?提要是否经过正确的UTF8编码,但是WebClient以其他方式失败了?我该怎么做才能减轻这种情况?

4
通过C#登录网站
我使用C#相对较新,并且有一个应用程序可以读取网站上部分源代码。一切正常;但是问题在于相关页面需要用户登录才能访问此源代码。我的程序需要一种将用户最初登录到网站的方法-完成之后,我将能够访问和阅读源代码。 需要登录的网站是:mmoinn.com/index.do?PageModule=UsersLogin 我整天都在搜索有关此操作的方法,并尝试了一些示例,但是没有运气。 提前致谢

4
如何将证书添加到WebClient(C#)?
我知道将证书添加到HttpWebRequest非常简单。但是,我还没有找到一种使用WebClient进行等效操作的方法。基本上,我想使用WebClient发送带有特定证书的POST。 您将如何使用WebClient完成此确切代码: var request = (HttpWebRequest) WebRequest.Create("my-url"); request.Method = "POST"; request.ClientCertificates.Add(new X509Certificate()); //add cert
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.