Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/13/21 in all areas

  1. Salutari ! Ma numesc Darius (prietenii imi zic r0ger/r0gerica) , am 20 de ani (vin din Bucuresti - acum stabilit in Liverpool) si m-am inscris si eu pe forum pentru domeniul de reversing cu scopul de a-mi imbunatatii indemanarile de reversing : Practic pe celealte forumuri de reverse-engineering am scris patchuri (rareori keygen-uri) pt. diferite aplicatii si le-am postat doar in scopul de a le testa . pe timp de pandemie (2020) am invatat programare mai mult in assembly/masm32 (putin in delphi/pascal si C++) dar am invatat pe parcurs si reversing. Mie cel mai mult prefer patching pentru ca e mai usor de detectat in aplicatii (mai ales in alea neprotejate , mai putin cele compresate in Asprotect/Armadillo/etc) NAG screenuri si sa scriu keygen-uri in assembly la nivel mai usor (alea care nu sunt criptate - cele criptate cu MD5/RSA/SHA-1 e putin mai complicat pe acolo). Oricum , ma bucur sa vad multi oameni pe aici care chiar sunt interesati de domeniul asta.
    4 points
  2. E destul de usor ce vrei tu sa faci si poti combina solutiile de mai sus. Intr-adevar, pentru a fi sigur ca scriptul isi reia treaba de unde a ramas iti trebuie un Queuing mechanism in care sa stochezi statusul si id-ul fiecarui request in parte. Iti va fi usor sa reiei taskurile de unde au ramas. Ca sa rezolvi problemele cu no internet connection, curent nema, apocalipsa etc e ceva mai interesant (intra cumva in categoria de disaster recovery - multa teorie). Dar pe scurt, cu cateva try / except-uri ar trebui sa o rezolvi (e.g. poti face initial un HEAD request catre yfinance + retry de cateva ori in cazul in care requestul faileaza. Daca dupa cateva retry-uri nu primesti nimic de la url-ul respectiv, treci la urmatorul si pui in queue url-ul precedent pentru a-l incerca mai tarziu bla bla e mult de scris). Poti incerca urmatorul stack: - Python (il folosesti deja) - RabbitMQ (message broker) - Ceva DB (ceva cum ar fi Mongo cred ca ar merge perfect din moment ce nu pare ca ai vreo relatie intre datele de care ai nevoie) Ideea generala pentru a scapa de acel "retrieving..." e ca trebuie sa faci mereu sanity request check-uri care sa te asigure ca urmatoarele reqs vor merge. In caz contrar, tratezi acolo ce e de tratat. E.g: try: import httplib except: import http.client as httplib def i_have_internet(): conn = httplib.HTTPConnection("www.google.com", timeout=5) try: conn.request("HEAD", "/") conn.close() return True except: conn.close() return False def main(): if i_have_internet(): # do your stuff (process yfinance bla bla) else: # wait, retry, check internet settings or w/e u want main() Mai sus e un exemplu simplu de check insa tu ar trebui sa tratezi tot ce ai nevoie. Asta se rezolva pe parcurs dupa ce intampini toate problemele.
    3 points
  3. M-am uitat la ei pe lib si nu suporta timeout ca parametru. Ca workaround poti face ceva de genu': import requests import yfinance as yf import functools session = requests.Session() session.request = functools.partial(session.request, timeout=30) # replace requests library in yfinance yf.base._requests = session yf.utils._requests = session yf.ticker._requests = session The above should do the trick
    2 points
  4. Here u go: try: # make the request here except requests.Timeout as timeout_err: # handle timeout print(timeout_err) except requests.RequestException as req_err: # handle other errors print(req_err)
    1 point
  5. La prima vedere pare destul de simpla biblioteca, cel mai sigur o modifici si adaugi tu parametrul de timeout.
    1 point
  6. Salut si bun venit, ma bucur sa vad ca exista tineri care fac lucruri utile.
    1 point
  7. Bine ai venit! Esti tare daca stii chestii asa faine de la varsta asta. Poate faci si niste tutoriale ceva gen basic -> advanced.
    1 point
  8. mă tu vrei să-ț faci stomatologie online cu dinț furaț Ce e frate cu intrebarile astea
    1 point
  9. Ce produs? @Kev @Che Ia vedeti voi ca poate ie big biznis
    1 point
×
×
  • Create New...