HttpClient - pobieranie danych

HttpClient - pobieranie danych
Marcin Filmowiec (VideoVibes)
  • Rejestracja:6 miesięcy
  • Ostatnio:24 dni
  • Postów:2
0

witam.
wykonuje sekwencje do pobrania zawartości z internetu ( plik video ).
Za każdym razem dostaję inny rozmiar pobranych tych samych danych

  • oczywiście nie muszę mówić , że pobrane dane to nie jest poprawny film video , którego link podałem w prostym? kodzie :

    readonly string DEFAULT_VIDEO_URL = "jakis poprawny link z youtuba w tym miejscu ";
    byte[] responseBody = null;
    using HttpResponseMessage response = await client.GetAsync(DEFAULT_VIDEO_URL);
    response.EnsureSuccessStatusCode();
    responseBody = await response.Content.ReadAsByteArrayAsync();
    Display.line( "odczytano " + responseBody.Length + " bajtow danych");

              ktoś pomoże rozwikłać tą dziwną zagadkę ?
    
AD
  • Rejestracja:ponad rok
  • Ostatnio:około godziny
  • Postów:335
0

Rozumiem, że zapoznałeś się z dokumentacją w której jest pewnie napisane że takie dane udostępnia się paczkach.

Marcin Filmowiec (VideoVibes)
nie zauważyłem nic o paczkach, chciałem poznać httpClient - owszem zwraca html .... średnio mnie to cieszy więc kombinuję nad zwróceniem multimedialnych :)
RJ
  • Rejestracja:prawie 3 lata
  • Ostatnio:około 5 godzin
  • Postów:436
0

A jesteś pewien że masz dobrego urla? Przecież get powinien Ci wrocic content, zamiast HTML.

Z racji że to Get to weź tego swojego urla i wklej w przeglądarkę i zobacz co Ci zwróci 😛

edytowany 1x, ostatnio: rjakubowski
Marcin Filmowiec (VideoVibes)
nie no oczywiście , że go przeglądarką sprawdzałem . zresztą tak też go ustaliłem - klikam pierwszy film na ytube , kopiuj url filmu i mam - nie może być błędu
Marcin Filmowiec (VideoVibes)
  • Rejestracja:6 miesięcy
  • Ostatnio:24 dni
  • Postów:2
0

zrobiłem sprawdzenie :
Display.line( "Status code: " + response.StatusCode);
Display.line( "Content - type : " + response.Content.Headers.ContentType);

i mam :
Status code: OK
Content - type : text/html; charset=utf-8
pobrano 988051 bajtow danych do bufora

pobiera html text pomimo że ustawiłem :

Kopiuj
request.Headers.Accept.Add( new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("video/mp4") );
edytowany 2x, ostatnio: Marcin Filmowiec (VideoVibes)
RJ
  • Rejestracja:prawie 3 lata
  • Ostatnio:około 5 godzin
  • Postów:436
1
rjakubowski napisał(a):

A jesteś pewien że masz dobrego urla? Przecież get powinien Ci wrocic content, zamiast HTML.

Z racji że to Get to weź tego swojego urla i wklej w przeglądarkę i zobacz co Ci zwróci 😛

Panie drogi, ale to że sobie kopiujesz url filmu to nie znaczy, że za urlem siedzi plik tylko najprawdopodobniej strzelasz na web page stąd wraca Ci HTML...

YouTube nie udostępnia URL do filmow bezpośrednio 😊

edytowany 2x, ostatnio: rjakubowski
Marcin Filmowiec (VideoVibes)
to by wyjaśniało wiele problemów . ale w takim razie czy można jakoś ustalić samemu adres url klipu - bez korzystania z pomocy typu VideoLibrary etc ? chodzi mi jak to zrobić możliwie korzystając z samego .NET szkoleniowo ? potrzebuję zrozumieć ten cały schemat działania.
RJ
Ja bym zaczął od ogarnięcia dokumentacji API YouTube 😉
G1
Jak chcesz szkoleniowo to wgraj plik sobie z filmem gdzieś i pracuj na nim a nie za yt się bierzesz

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.