我正在尝试从URL:
https://whitworthpirates.com/services/schedule_txt.ashx?schedule=139读取文本
这是我的代码:-
var webRequest = WebRequest.Create(SourceUrl);
var response = webRequest.GetResponse();
var content = response.GetResponseStream();
using (var reader = new StreamReader(content))
{
string strContent = reader.ReadToEnd();
HttpContext.Current.Response.Write("Read: "+strContent+"<br />");
}
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
HttpContext.Current.Response。Write打印不出任何东西。我已经尝试了https://google.com和StackOverflow网页相同的代码,它得到这些网站的文本很好。
我还尝试使用以下代码从相同的URL下载文件:-
WebClient webClient = new WebClient();
webClient.DownloadFile(url, @"c:myfile.txt");
它成功地在我的服务器上下载了一个。txt文件,但它是一个0KB大小的空文件。
有人能帮我一下吗?这个网站似乎需要你发送一个UserAgent
标头。(似乎可以是任何东西)
var webRequest = (HttpWebRequest)HttpWebRequest.Create("https://whitworthpirates.com/services/schedule_txt.ashx?schedule=139");
webRequest.UserAgent = "Hej";
var response = webRequest.GetResponse();
var content = response.GetResponseStream();
using (var reader = new StreamReader(content))
{
string strContent = reader.ReadToEnd();
strContent.Dump();
}
您需要完成响应。
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
您可能还需要告知响应是明文的,以便浏览器知道如何处理它。
HttpContext.Current.Response.ContentType = "text/plain";