我有这个网址: 从谷歌网址
当打开链接在新标签页,浏览器逼我下载它。 下载后,我得到一个名为“S”的文本文件。 但我想用C#访问这个URL,并得到它的文字,不要将其保存为文件计算机。 是没有办法做到这一点?
我有这个网址: 从谷歌网址
当打开链接在新标签页,浏览器逼我下载它。 下载后,我得到一个名为“S”的文本文件。 但我想用C#访问这个URL,并得到它的文字,不要将其保存为文件计算机。 是没有办法做到这一点?
var webRequest = WebRequest.Create(@"http://yourUrl");
using (var response = webRequest.GetResponse())
using(var content = response.GetResponseStream())
using(var reader = new StreamReader(content)){
var strContent = reader.ReadToEnd();
}
这将会把请求放入strContent的内容。
或者,正如adrianbanks下文提到的简单的使用WebClient.DownloadString()
试试这个:
var url = "https://www.google.com.vn/s?hl=vi&gs_nf=1&tok=i-GIkt7KnVMbpwUBAkCCdA&cp=5&gs_id=n&xhr=t&q=thanh&pf=p&safe=off&output=search&sclient=psy-ab&oq=&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=be3c25b6da637b79&biw=1366&bih=362&tch=1&ech=5&psi=8_pDUNWHFsbYrQeF5IDIDg.1346632409892.1";
var textFromFile = (new WebClient()).DownloadString(url);
因为现在这个问题和我以前的答案是相当老了,更现代的答案是使用HttpClient
从System.Net.Http
using System.Net.Http;
namespace ConsoleApp2
{
class Program
{
async static void Main(string[] args)
{
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("https://example.com/test.txt");
}
}
}
如果没有一个异步函数中,则:
string result = client.GetStringAsync("https://example.com/test.txt").Result;