Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从此URL从文件中获取内容?_C#_Url - Fatal编程技术网

C# 如何从此URL从文件中获取内容?

C# 如何从此URL从文件中获取内容?,c#,url,C#,Url,我有这个网址: 在“新建”选项卡中打开链接时,浏览器会强制我下载该链接。下载后,我得到一个名为“s”的文本文件。但我想使用C#访问此URL并获取其文本,而不是将其作为文件保存到计算机。有什么办法吗 var webRequest = WebRequest.Create(@"http://yourUrl"); using (var response = webRequest.GetResponse()) using(var content = response.GetResponseStream(

我有这个网址:

在“新建”选项卡中打开链接时,浏览器会强制我下载该链接。下载后,我得到一个名为“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

或者如下文所述,只需使用

试试以下方法:

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);

由于这个问题和我以前的答案现在已经相当老了,更现代的答案应该是使用
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;

对于asp.net core/.net 5+,您应该在服务中注入HttpClient。不应手动创建新实例

public class MySerivice {
   private readonly HttpClient _httpClient;
   public MyService(HttpClient httpClient) {
       _httpClient = httpClient;
   }
   
   public async Task Foo() {
       var myString = await _httpClient.GetStringAsync("https://my-url/file.txt");
   }
}

HttpClient将在幕后使用IHttpClientFactory。文档:

是否要通过C#代码执行此操作?或的可能副本。下载、读取和删除文件。使用哪种代码可以在一行代码中执行相同操作?没有。。。我想我已经习惯使用WebRequest了,因为我几乎从来没有得到过一个资源,或者必须处理标题。老实说,直到你刚才提到它,它才突然出现在我的脑海中。@adrianbanks-首先,我认为它在PCL中不起作用。我不喜欢不清理
WebClient
对象的想法。总是喜欢在使用块时使用那些。