Tag: webclient

解压缩来自WebClient的gzip响应

有没有一种快速的方法来解压缩与WebClient.DownloadString()方法下载的gzip响应? 对于如何使用WebClient处理gzip响应,您有什么build议吗?

WebClient Unicode – 哪个UTF8?

当我创build一个WebClient来使用一些RESTful xml时,我可以指定unicode编码的两种方法: WebClient wc = new WebClient (); wc.Encoding = Encoding.UTF8; wc.Encoding = UTF8Encoding.UTF8; 哪个是正确/更好?

.net 4.0中不存在HttpClient:我该怎么办?

好吧,我编辑我的代码我不会得到错误,但messageBox.Show返回什么都没有空框。 也许我需要在引用string中添加一些东西? 我不明白什么是推荐人,我应该放在那里。 我有一个密钥已经即时在我的代码中使用它。 关键是一个很长的string,即时通讯使用它在我的代码我不使用引用。 为什么它剂量翻译单词“嗨”? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Globalization; using System.IO; using System.Net; using System.Web; using System.Web.Script.Serialization; namespace WindowsFormsApplication2 { public partial class Form1 : Form { private JavaScriptSerializer _Serializer = new JavaScriptSerializer(); public Form1() { InitializeComponent(); string f = […]

在C#中通过WebClient将JSON发布到URL

我有一些JavaScript代码,我需要转换为C#。 我的JavaScript代码将一些JSON POST到已创build的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()) { string […]

如何将证书添加到WebClient(C#)?

我知道向HttpWebRequest添加证书非常简单。 但是,我还没有find一种方法来使用WebClient做等效。 基本上,我想用WebClient发送一个具有特定证书的POST。 你将如何使用WebClient完成这个确切的代码: var request = (HttpWebRequest) WebRequest.Create("my-url"); request.Method = "POST"; request.ClientCertificates.Add(new X509Certificate()); //add cert

WebClient + HTTPS问题

我目前正在与第三方创build的系统进行整合。 这个系统要求我使用XML / HTTPS发送一个请求。 第三方发给我的证书,我安装它 我使用下面的代码: using (WebClient client = new WebClient()) { client.Headers.Add(HttpRequestHeader.ContentType, "text/xml"); System.Text.ASCIIEncoding encoding=new System.Text.ASCIIEncoding(); var response = client.UploadData(address, "POST", encoding.GetBytes(msg)); } 此代码返回以下WebException : 底层连接已closures:无法build立SSL / TLS安全通道的信任关系。 更新由于这是一个testing服务器,我正在处理,证书不受信任,validation失败…要绕过此testing/debugging环境中创build一个新的ServerCertificateValidationCallback ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(bypassAllCertificateStuff); 这是我的“假”callback private static bool bypassAllCertificateStuff(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error) { return true; } 在这里和这里阅读更多

WebClient.DownloadString由于编码问题而导致字符错乱,但浏览器正常

以下代码: var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20")); 会产生一个variablestext ,其中包含string “$κ$ –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); 但这给了同样的问题。 我不确定这里的错在哪里。 Feed是否是UTF8编码的,浏览器足够聪明,而不是WebClient ? Feed是否正确地使用了UTF8编码,但WebClient以其他方式失败? 我可以做些什么来减轻这一点?

如何从webclient获取状态码?

我正在使用WebClient类将一些数据发布到Web表单。 我想获得表单提交的响应状态代码。 到目前为止,我已经发现如何获取状态码,如果有例外 Catch wex As WebException If TypeOf wex.Response Is HttpWebResponse Then msgbox(DirectCast(wex.Response, HttpWebResponse).StatusCode) End If 但是,如果表单提交成功,并没有抛出exception,那么我不会知道状态代码(200,301,302,…) 当没有抛出exception的时候,有什么方法可以获得状态码吗? PS:我不喜欢使用httpwebrequest / httpwebresponse

HTTP POST返回错误:417“期望失败”。

当我尝试POST到一个URL会导致以下exception: 远程服务器返回错误:(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没有任何区别。 什么导致这个exception?

是否可以将身份validation从Webbrowser传输到WebRequest

我使用webbrowser控件来login任何网站。 然后我想使用WebRequest(或WebClient)下载一些子页面的HTML。 这个链接必须要求authentication。 如何将Web浏览器身份validation信息传输到Webrequest或Webclient?