Member 13664349 Ответов: 3

Использование await версии readasstringasync()


Здравствуйте, могу я получить здесь небольшую помощь? Я пытаюсь использовать popcorn time API с этого сайта поэтому я установил необходимые пакеты в visual studio но когда я вставляю код он показывает ошибку говоря
"Ошибка CS4033, оператор 'await' может использоваться только в асинхронном методе. Подумайте о том, чтобы пометить этот метод модификатором 'async' и изменить его возвращаемый тип на 'Task'"
пожалуйста, не могли бы вы проверить это для меня и исправить, я действительно ценю любую помощь!
и я взял АПИ отсюда, https://popcornofficial.docs.apiary.io/#reference/show/pages

Что я уже пробовал:

//это мой код
private void button1_Click(object sender, EventArgs e)
{
    System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    var baseAddress = new Uri("https://tv-v2.api-fetch.website/");
    using (var httpClient = new HttpClient { BaseAddress = baseAddress })
    {
        using (var response = await httpClient.GetAsync("undefined"))
        {
            string responseData = await response.Content.ReadAsStringAsync();
        }
    }
}

3 Ответов

Рейтинг:
1

Dirk Bahle

Попробуйте это и читайте о том, что вы копируете и вставляете:

private async void button1_Click(object sender, EventArgs e)
{
    System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    var baseAddress = new Uri("https://tv-v2.api-fetch.website/");
    using (var httpClient = new HttpClient { BaseAddress = baseAddress })
    {
        using (var response = await httpClient.GetAsync("undefined"))
        {
            string responseData = await response.Content.ReadAsStringAsync();
        }
    }
}


Member 13664349

Большое спасибо, еще один последний вопрос, после завершения запуска этого кода responseData равен "", но когда вы перейдете по ссылке "https://tv-v2.api-fetch.website/movie/tt1457767" вы можете заметить, что это богатое содержание, что не так?

private async void button1_Click(отправитель объекта, EventArgs e)
{
var baseAddress = новый Uri("https://tv-v2.api-fetch.website/movie/tt1457767");
используя (ВАР класс HttpClient = новый класс HttpClient { базовый адрес = базовый адрес })
{
использование (var response = await httpClient.С getasync("неопределено"))
{
строка responseData = ожидание ответа.Содержание.ReadAsStringAsync();
}
}
}

Member 14539824

селам

Рейтинг:
1

Dirk Bahle

Для меня это выглядит как обычный JSON:
JSON - Википедия[^]

Его формат данных похож на XML. В этом нет ничего плохого - вы должны спросить авторов сайта о смысле (его определении схемы)...


Рейтинг:
0

Member 13664349

что значит "вам нужно включить "асинхронный" идентификатор в сигнатуру вашего метода" я видел это раньше, но не понимал. кстати, я уроженец английского языка, надеюсь, вы поняли мою ситуацию

Maciej Los

Перейдите по ссылке, указанной там. Документация MSDN достаточно ясна. ;) Другими словами, вы должны добавить async ключевое слово.

Member 13664349

Большое спасибо, еще один последний вопрос, после завершения запуска этого кода responseData равен "", но когда вы перейдете по ссылке "https://tv-v2.api-fetch.website/movie/tt1457767" вы можете заметить, что это богатое содержание, что не так?

private async void button1_Click(отправитель объекта, EventArgs e)
{
var baseAddress = новый Uri("https://tv-v2.api-fetch.website/movie/tt1457767");
используя (ВАР класс HttpClient = новый класс HttpClient { базовый адрес = базовый адрес })
{
использование (var response = await httpClient.С getasync("неопределено"))
{
строка responseData = ожидание ответа.Содержание.ReadAsStringAsync();
}
}
}

Member 14539824

на моем канале каждый день

Member 14539824

ИИ Зенден