C# Can';不能用c获取网站的内容#
这是我获取网站内容的代码行:C# Can';不能用c获取网站的内容#,c#,httpwebrequest,C#,Httpwebrequest,这是我获取网站内容的代码行: private string GetContent(string url) { var request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; var content = String.Empty; HttpStatusCode statusCode; using (var response = request.GetResponse(
private string GetContent(string url) {
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
var content = String.Empty;
HttpStatusCode statusCode;
using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
{
var contentType = response.ContentType;
Encoding encoding = null;
if (contentType != null)
{
var match = Regex.Match(contentType, @"(?<=charset\=).*");
if (match.Success)
encoding = Encoding.GetEncoding(match.ToString());
}
encoding = encoding ?? Encoding.UTF8;
statusCode = ((HttpWebResponse)response).StatusCode;
using (var reader = new StreamReader(stream, encoding))
content = reader.ReadToEnd();
}
return content;
}
私有字符串GetContent(字符串url){
var request=(HttpWebRequest)WebRequest.Create(url);
request.Method=“GET”;
var content=String.Empty;
HttpStatusCode状态码;
使用(var response=request.GetResponse())
使用(var stream=response.GetResponseStream())
{
var contentType=response.contentType;
编码=空;
if(contentType!=null)
{
var match=Regex.match(contentType,@)(?看起来站点正在检查用户代理标题,由于默认情况下未设置,因此返回错误消息。我添加了浏览器发送的内容,并且能够获取该链接的内容。只需添加设置用户代理的行,如下所示:
// ...
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36";
var content = String.Empty;
HttpStatusCode statusCode;
// ...
被打败了-我正要发布这个确切的答案!@Sam::-)在那里,我知道感觉如何我只是在研究他们如何检查用户代理信息,但你是第一个。回答得很好。@VolkanPaksoy你救了我的命。非常有用!