当前位置: 首页 > 知识库问答 >
问题:

系统。网。http://http.HttpClient不包含DownloadData的定义

梁成双
2023-03-14

我想得到歌词使用网络api,但它有一个错误的系统。网。http://http.HttpClient不包含DownloadData的定义,也没有接受System类型的第一个参数的扩展方法DownloadData。网。http://http.可以找到HttpClient(您是否缺少使用指令或程序集引用?)

这是我的代码

internal static class LyricsFetcher
{
    internal static String GetLyrics(String Artist, String Title)
    {
        byte[] responseData;

        string URL;

        URL = "http://api.metrolyrics.com/v1/search/lyrics/?find=" + Artist + "%20" + Title + "&X-API-KEY=1234567890123456789012345678901234567890";

        HttpClient wClient = new HttpClient();
        responseData = wClient.DownloadData(URL); // error
        UTF8Encoding utf8 = new UTF8Encoding();
        String Lyrics = utf8.GetString(responseData,0,responseData.Length);
        return Lyrics;
    }
}

共有2个答案

蓝夕
2023-03-14

HttpClient没有DownloadData方法。我相信您可能打算使用WebClient,它有一个下载数据的方法。

WebClient wClient = new WebClient();
responseData = wClient.DownloadData(URL);

漆雕皓轩
2023-03-14

您应该使用GetAsync或GetStreamAsync,而不是使用DownloadData(在HttpClient中不可用)。HttpClient的优点是可以使用异步方法,所以应该继续使用它。作为奖励,它也可以在PCL中使用,以便最终您可以跨多个平台使用您的组件

    internal static async Task<String> GetLyrics(String Artist, String Title)
    {
        byte[] responseData;

        string URL;

        URL = "http://api.metrolyrics.com/v1/search/lyrics/?find=" + Artist + "%20" + Title + "&X-API-KEY=1234567890123456789012345678901234567890";

        HttpClient wClient = new HttpClient();
        responseData = await wClient.GetByteArrayAsync(URL); // success!
        UTF8Encoding utf8 = new UTF8Encoding();
        String Lyrics = utf8.GetString(responseData, 0, responseData.Length);
        return Lyrics;
    }
 类似资料:
  • 我是OSGi的新手。我正在Android上运行ApacheFelix。我已将系统包导出的系统包设置如下: 但是,当我尝试安装ConfigAdmin捆绑包时,它会给出一个BundleException: 当我导出组织时,为什么它缺少这个要求。奥斯基。版本1.6的系统包中的框架包。0? 我已通过以下操作检查系统属性设置是否正确: 也许这是我的一个简单错误。有人能帮我吗? 谢谢!

  • 我创建了一个新的Blazor应用程序,我想通过HttpClient访问一个URL。我遇到了这个错误 “HttpClient”不包含“GetFromJsonAsync”的定义,并且找不到接受“HttpClient”类型的第一个参数的可访问扩展方法“GetFromJsonAsync”(是否缺少using指令或程序集引用?)[BlazorApp]csharp(CS1061), 这是我的密码

  • ASP。NET MVC 6(DNX 4.5.1)。 用我的方法。 我得到的是: 错误CS1061“HttpRequestMessage”不包含“Form”的定义,并且找不到接受“HttpRequestMessage”类型的第一个参数的扩展方法“Form”(是否缺少using指令或程序集引用?)我的项目。DNX 4.5.1 有一个类似的问题,但我不明白帮助我。 编辑: 链接使用将数据传递给方法。他在

  • 我试图在IQueryable集合上使用Include扩展,但我有以下问题: 错误1'System.林克。IQueryable 我的代码: 方法返回-

  • Bootstrap包含了一个强大的移动优先的网格系统,用来创建各种形状和尺寸的布局。它基于一个12列的布局,有很多的等级,为每个媒体查询范围创建了一个等级。你可以与Sass mixins配合使用它,或者与我们预定义的类配合使用它。 工作机制 在一个高层次,以下是网格系统的工作原理: 总共有三个主要的组件:容器、行和列。 容器——.container实现固定的宽度,.container-fluid实