如何使用 C# 从 url 中 get/read 文本文件?
How to get/read text file from a url using C#?
我正在尝试阅读来自 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 和 Whosebug 网页上尝试了相同的代码,它从这些网站获取文本就好了。
我还尝试使用以下代码从同一个 URL 下载文件:-
WebClient webClient = new WebClient();
webClient.DownloadFile(url, @"c:\myfile.txt");
它成功地在我的服务器上下载了一个 .txt 文件,但它是一个大小为 0KB 的空文件。
有人可以帮我解决这个问题吗?
您需要完成回复。
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
您可能还需要告知响应是明文,以便浏览器知道如何处理它。
HttpContext.Current.Response.ContentType = "text/plain";
网站似乎要求您发送 UserAgent
header。 (似乎可以是任何东西)
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();
}
我正在尝试阅读来自 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 和 Whosebug 网页上尝试了相同的代码,它从这些网站获取文本就好了。
我还尝试使用以下代码从同一个 URL 下载文件:-
WebClient webClient = new WebClient();
webClient.DownloadFile(url, @"c:\myfile.txt");
它成功地在我的服务器上下载了一个 .txt 文件,但它是一个大小为 0KB 的空文件。
有人可以帮我解决这个问题吗?
您需要完成回复。
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
您可能还需要告知响应是明文,以便浏览器知道如何处理它。
HttpContext.Current.Response.ContentType = "text/plain";
网站似乎要求您发送 UserAgent
header。 (似乎可以是任何东西)
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();
}