How to get content from file from this URL?

2020-02-08 07:13发布

I have this URL: URL from Google

When open link in new tab, the browser force me download it. After download, I get a text file named "s". But I want use C# access to this URL and get it's text, don't save it as a file to computer. Is any way to do this?

标签: c# url
3条回答
太酷不给撩
2楼-- · 2020-02-08 07:39

Try this:

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);
查看更多
姐就是有狂的资本
3楼-- · 2020-02-08 07:45
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();
}

This will place the contents of the request into strContent.

Or as adrianbanks mentioned below simply use WebClient.DownloadString()

查看更多
▲ chillily
4楼-- · 2020-02-08 07:59

Since this question and my previous answer is fairly old now, a more modern answer would be to use HttpClient from 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");
        }
    }
}

If not within an async function, then:

string result = client.GetStringAsync("https://example.com/test.txt").Result;
查看更多
登录 后发表回答