Portál AbcLinuxu, 6. května 2025 22:52

Dotaz: Posílání requestů - PHP / Java ???

1.3.2015 10:29 peterkm
Posílání requestů - PHP / Java ???
Přečteno: 368×
Odpovědět | Admin
Dobrý den, mohl by mi prosím někdo poradit, podle jakých klíčových slov bych mohl pohledat na googlu, popř. mi poskytnout odkaz přímo na onu věc kterou popíši níže? Jde mi o to, že mám řekněme 5 URL adress, které potřebuji v určitý okamžik (není nutné nastavit čas, klidně si to kliknu sám) začít odesílat, rekněme s delay 400ms... a to v celkovém počtu 60 requestu (tj sadu 5 URL *12 opakování) Bohužel se mi nedaří najít nic, co by mi pomohlo. Kamarád tvrdí, že na to stačí jednoduché něco v PHP či Javascript, bohužel sám taky neví, jak by to udělal, obracím se tedy na Vás... bohužel nevím jak přesně toto pojmenovat, takže si nemůžu ani projet EN googel... mohl by mi prosím někdo s tímto poradit? Diky za odpověď .)

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.3.2015 11:39 NN
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
Odpovědět | | Sbalit | Link | Blokovat | Admin
for foo in {1..12}
do
  wget ...
  ...
  sleep 0.4
done
1.3.2015 12:09 peterkm
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
děkuji...bohužel nejsem až tak sběhlý v dané věci...

řekněme že máme linky www.A.cz www.B.cz www.C.cz ... daný link obsahuje přímo příkaz, který potřebuji dostat k serveru , proto začnu generovat sadu linku v čase od -200ms viz výše tak, abych měl co nejvetší šanci, že tam ta sada dorazí co nejblíže času 0
1.3.2015 13:11 NN
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
Takze to z nejakeho duvodu nemuzes vykonat primo na serveru, ale potrebujes to maximalne realtime po siti. O co vlastne jde? Co je to za server, HTTP? Mozna existuje trivialnejsi reseni pokud se dozvime o co se jedna..
1.3.2015 13:32 peterkm
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
server ma Https...

o co jde : jde o přihlašování na směny..... u nás to probíhá tak , že v 00:00 se spustí přihlašování na směny na celý tyden dopředu..... takže příkaz A směřuje na pondělí, příkaz B na uterý atd.... dané url, obsahuje příkaz na zapsání na směnu.... takže jediné co opravdu potřebuji je, dostat url se svým ID jako první (prvních 5) k serveru v čase 00:00.... pro představu v čase 00:00:01 jsou všechny lukrativní směny obsazeny..... a já potřebuju něco, co mi pomůže tam dostat ty "requesty" co nejblíže onomu času....

tím že se ale přihlašuje se zároveň více dní, není možné jenom klikat "refresh" nebo "refresh all" buttom, protože to má strašne delay (omezeni GUI ?)

takže potrbuju poslat url, ve kterém je schované, kdo jsem, + jakou smenu chci.... nejedna so o žadne vyplnovani formulare, je to url link, ktery je generovan primo pro mne po kliknuti na "prihlasit se "
1.3.2015 13:43 peterkm
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
je to prostě taková "blbá" soutěž o směny /workshopy/všechno možné .... server je stavěn na obrovskou zátěž a jediné omezení pro nás je 150 operaci za minutu s tím ža za hodinu jich nemůže být více jak 300 (tak nějak)

... hodně to připomíná DOS utok, ale v síle 60requestů :D.... Jen na okraj doplním že se nejedná o nic nelegalního, nebo o porušení byť jen etického kodexu...

ostatní zatím dělají to, že na X počítačích mají otevřeno třeba 5 oken prohlížeče, každe okno má 6 karet, nainstalovaný "refresh all" a autoklik který to kliká, a tohle spustí z těch X počítačů.... což je ale absolutne nesofistikovaný přístup k věci..a moc to neni učine, protože to trvá, než to prohlížeč zpracuje....

je více jasný problém ?
1.3.2015 15:23 NN
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
Fair, to je realne. Klicova otazka je jestli jses schopny si to napsat sam, nebo alespon castecne upravit, treba v Pythone a klidne i v PHP?
1.3.2015 19:40 peterkm
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
no právě napsat si to sám schopen nejsem, ale když mi pomůžeš jakkoliv tak si to už klidně upravím, to zase dokážu.....
1.3.2015 19:52 peterkm
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
z jazyků ovládám angličtinu a francouštinu :P

Ale tak něco málo (ale spíš na drobné úpravy) - Python, Java

Na oplátku mohu nabídnout krom tradiční finanční odměny taky právní výpomoc či nějakou tu matematiku :)
1.3.2015 20:46 NN
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
V odkazu mas nekolik funkcnich reseni..
1.3.2015 21:03 peterkm
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
ok díky, ráno na to kouknu.... ale nejsem si moc jistý, jestli je toto řešení mého problému.... ..vzhledem k tomu, že všechny requesty míří na jeden server, tak jich mohu vykonat max 150 za minutu...

navíc je potřebuji posílat ideálně v sadách, protože jakmile bych jednou sadou trefil správný čas, zaregistrovaly by se všechny požadované termíny....
2.3.2015 22:14 luky
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
IMO mnohem lepsi by bylo otevrit X HTTPS spojeni k serveru a postupne zkouset, jestli uz se reistruje (predpokladam ze uspech poznate z odpovedi) a pokud ano, tak hned poslat pozadavky do ostatnich jiz otevrenych spojeni.
Řešení 1× (karl82)
Josef Kufner avatar 2.3.2015 23:14 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Posílání requestů - PHP / Java ???
Udělej si triviální script, kde bude wget -nv &
#!/bin/sh
wget -nv "https://url_pro_prvni_den..." &
wget -nv "https://url_pro_druhy_den..." &
wget -nv "https://url_pro_treti_den..." &
...
Jakmile to spustíš, přihlásí tě to na všechny dny najednou. Požadavky se spustí paralelně.

Pokud se chceš snažit pořád, tak každý řádek může vypadat například takto:
while sleep 0.2 ; do wget -nv "https://..." ; done &
Pak se to bude snažit každých 200ms přihlásit na každý den.

A pokud v URL je uvedeno číslo dne, můžeš udělat:
for d in `seq 1 31`; do
  wget -nv "https://... $d ..." &
done
wait
Což ti ušetří vypisování spousty řádek. Ten wait na konci počká na ukončení vŠech 31 wgetů.

Pokud tomuto nerozumíš, klíčová slova jsou "bash" a "tutorial". V druhém kole pak dokumentace k wgetu a jemný úvod do HTTP. Pokud by wget nestačil, koukni na curl.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.