• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie treści stron w trybie non-block

Object Storage Arubacloud
+1 głos
286 wizyt
pytanie zadane 24 kwietnia 2016 w PHP przez xandros Nałogowiec (29,450 p.)

Potrzebuję jakieś biblioteki/sposobu, na pobieranie danych z serwera. Ma się to wykonywać asynchronicznie w trybie non-blocking, mieć obsługe ssl i follow location. Tak, bym mógł otworzyć dowolną strone w php, tak samo jak za pomocą przeglądarki.

Samemu próbowałem zrobić wrappera: https://bitbucket.org/xandros15/simplehttp (nie ma jeszcze parsowania uri)
niestety, używając stream_socket_client po wysłaniu requesta na serwer ssl mija okolo 20s zanim dostanę odpowiedz, czyli 20* dlużej niż normalnym fopen + stream_get_contents.

Z góry mówie, że react odpada. Po pierwsze nie podoba mi się jego system, po drugie nie ma follow location. 

3 odpowiedzi

+1 głos
odpowiedź 25 kwietnia 2016 przez Comandeer Guru (601,510 p.)
Szedłbym w kierunku https://github.com/Auditr/Scraper czyli Guzzle

Alternatywnie: moduł request pod node.

No i nie wiem, czy cURL by nie dał rady.
komentarz 29 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)
Próbowałem używać guzzle, bez powodzenia. Za dużo musiałbym dorobić by to miało jakikolwiek sens, a nie bawi mnie szukanie w kodzie guzzla (podejmowałem wiele prób). Node nie tyle, co odpada, co musiałoby być jedną z ostateczniści. Nie chcę używać wielu platform, jeśli tego nie muszę.
0 głosów
odpowiedź 29 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)
Znalazłem od taka biblioteke: https://github.com/stil/curl-easy

Dokładnie chodziło mi o coś takiego, jak w tym przykładzie: https://github.com/stil/curl-easy#single-request-without-blocking

Musiałbym jeszcze posprawdzać pare rzeczy i ewentualnie rozszerzyć to o PSR-7, jesli będzie taka możliwość.

Chyba że macie jakieś inne, podobne propozycje.
komentarz 30 kwietnia 2016 przez Comandeer Guru (601,510 p.)
Dalej wydaje mi się, że Guzzle takie coś oferuje… http://docs.guzzlephp.org/en/latest/faq.html#can-guzzle-send-asynchronous-requests
komentarz 30 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)

Ale nie w trybie non-block. Po wywołaniu wait() czekam aż program polaczy się z każdym z hostów i przetworzy dane. Potrzebuję, by program nie blokował się nawet w trakcie czekania na połączenie.

0 głosów
odpowiedź 30 kwietnia 2016 przez xandros Nałogowiec (29,450 p.)
Przy szperaniu po sieci znalazłem, ale jeszcze nie testowałem:

https://icicle.io/ oraz http://amphp.org/

Źródło: https://www.youtube.com/watch?v=dk-D3g2MD2U

Podobne pytania

0 głosów
1 odpowiedź 127 wizyt
pytanie zadane 2 września 2017 w PHP przez mikoh81 Obywatel (1,260 p.)
0 głosów
1 odpowiedź 135 wizyt
0 głosów
0 odpowiedzi 217 wizyt
pytanie zadane 4 maja 2023 w C i C++ przez mark162 Początkujący (410 p.)

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...