错误请求400 – 有效URL上的协议错误 – Webclient

我正在尝试使用webclient解析此页面( http://www.coleparmer.co.uk/Product/Turb_Std_Hach_2100q_Kit/WZ-99900-47 )并且没有运气。

var client = new WebClient(); var html = client.DownloadString("http://www.coleparmer.co.uk/Product/Turb_Std_Hach_2100q_Kit/WZ-99900-47"); 

需要设置适当的标头。

 try { string html; using (WebClient client = new WebClient()) { client.Headers.Add("Accept-Language", " en-US"); client.Headers.Add("Accept", " text/html, application/xhtml+xml, */*"); client.Headers.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"); html = client.DownloadString("http://www.coleparmer.co.uk/Product/Turb_Std_Hach_2100q_Kit/WZ-99900-47"); } } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null) { var resp = (HttpWebResponse)ex.Response; if (resp.StatusCode == HttpStatusCode.NotFound) // HTTP 404 { //Handle it } } //Handle it } 

它需要一个标题。

 WebClient client = new WebClient(); client.Headers["Content-Type"] = "application/json;charset=UTF-8";