abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:33 | Zajímavý software

Byl vydán ShellCheck ve verzi 0.4.6. Jedná se o nástroj pro statickou analýzu shellových skriptů. Shellové skripty lze analyzovat na webové stránce ShellChecku, v terminálu nebo přímo z textových editorů. Příklady kódů, na které analýza upozorňuje a doporučuje je přepsat. ShellCheck je naprogramován v programovacím jazyce Haskell. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
včera 23:33 | Pozvánky

Czech JBoss User Group zve na setkání JBUG v Brně, které se koná ve středu 5. dubna 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Pavol Loffay na téma Distributed Tracing and OpenTracing in Microservice Architecture.

… více »
mjedlick | Komentářů: 0
včera 11:33 | Zajímavý článek

Národní centrum kybernetické bezpečnosti (NCKB) vypracovalo (pdf) 26 podrobných bezpečnostních doporučení pro síťové správce. Tato doporučení jsou nastavena tak, aby je bylo možné aplikovat v každé instituci. Jsou rozdělena na tři základní části: bezpečnost infrastruktury, bezpečnost stanic a serverů a bezpečnost uživatelů.

Ladislav Hagara | Komentářů: 9
včera 05:55 | Komunita

Prezident Nadace pro svobodný software (FSF) Richard M. Stallman vyhlásil na slavnostním ceremoniálu v rámci konference LibrePlanet 2017 vítěze Free Software Awards za rok 2016. Ocenění za společenský přínos získal SecureDrop (Wikipedie). Za rozvoj svobodného softwaru byl oceněn Alexandre Oliva (Wikipedie).

Ladislav Hagara | Komentářů: 0
včera 04:44 | Nová verze

Byla vydána verze 0.7.0 debugovacího nástroje cgdb. Mezi novinky patří například zvýrazňování syntaxe jazyka Rust. Podrobnosti v poznámkách o vydání.

Neel | Komentářů: 0
25.3. 22:00 | Komunita

Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil (podcast) detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 64 tisíc vývojářů. Jejich nejmilovanější platformou je linuxový desktop. Ten je také druhou nejpoužívanější platformou vývojářů.

Ladislav Hagara | Komentářů: 7
24.3. 11:55 | Komunita

Vývojový tým OpenSSL ve spolupráci s iniciativou Core Infrastructure konsorcia Linux Foundation spustil proces přelicencování této kryptografické knihovny ze současné licence na licenci Apache Licence v 2.0 (ASLv2). Nová licence usnadní začleňování OpenSSL do dalších svobodných a open source projektů. Všichni dosavadní vývojáři OpenSSL (Authors) obdrží v následujících dnech email s prosbou o souhlas se změnou licence.

Ladislav Hagara | Komentářů: 32
24.3. 01:11 | Komunita

Před třemi týdny Mozilla.cz představila projekt Photon, jehož cílem je návrh a implementace nového vzhledu Firefoxu. Včera zveřejnila první náhled vzhledu Photon. Práce na projektu Photon jsou rozděleny do pěti týmů, které celkem čítají 19 lidí. Zaměřují se na zlepšení prvního spuštění Firefoxu a zaujetí nových uživatelů, celkovou úpravu vzhledu, zlepšení animací, zrychlení odezvy uživatelského rozhraní a také upravení nabídek. Vývoj lze sledovat v Bugzille.

Ladislav Hagara | Komentářů: 50
23.3. 20:00 | Komunita

OneDrive pro firmy je již ve webových prohlížečích na Linuxu stejně rychlý jako na Windows. Microsoft opravil chybu z listopadu loňského roku. OneDrive pro firmy běžel na Linuxu mnohem pomaleji než na Windows. V popisu chyby bylo uvedeno, že stačilo v prohlížeči na Linuxu nastavit v user-agentu Windows a vše se zrychlilo. Odpovědí Microsoftu bylo (Internet Archive: Wayback Machine), že Linux není podporován. Po bouřlivých diskusích na redditu i Hacker News byla chyba nalezena a opravena.

Ladislav Hagara | Komentářů: 9
23.3. 19:00 | Zajímavý projekt

Byla vyhlášena soutěž Hackaday Prize 2017. Soutěž je určena vývojářům open source hardwaru. Pro výherce je připraveno celkově 250 tisíc dolarů. Každý ze 120 finalistů získá tisíc dolarů. Nejlepší pak navíc 50, 30, 20, 15, 10 a 5 tisíc dolarů. Jedná se již o čtvrtý ročník soutěže. V roce 2014 zvítězil projekt globální sítě open source pozemních satelitních stanic SatNOGS. V roce 2015 zvítězil open source systém pro řízení elektrických invalidních vozíků pohybem očí Eyedriveomatic. V roce 2016 zvítězil modulární robot Dtto.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 946 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: BASH - jak poslat urcita data na zadanou stranku

    22.12.2012 21:47 Hanyz
    BASH - jak poslat urcita data na zadanou stranku
    Přečteno: 815×
    Ahoj, tedkom resim dost zajimavou vec. Dokazu si stahnout pomoci wget "jakykoliv" soubor...ale co kdyz chci poslat nejake inforamce na nejakou www stranku, jak a cim by se to udelalo?

    Zkratka, ta www stranka, kam budu posilat informace obsahuje mimo jine i 4 pole, a ja chci do tech ctyr poli najednou poslat 4 retezce (do kazdeho pole jeden), a pak nejak "simulovat" kliknuti mysi na "submit". Informace se zpracuji a objevi se na nove strance vizualne vysledek a i v podobne txt souboru. Ten soubor si uz stahnu, to uz neni problem. Slo by to nejak udelat?

    Diky za pomoc!

    Odpovědi

    22.12.2012 21:56 Kit
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Viz man wget
    --post-data=řetězec
    --post-file=soubor
    
    22.12.2012 22:08 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    aha, ja myslel ze wget umi jen stahovat. Oki a jak odsimuluju kliknuti mysi na tlacitko "submit"?
    22.12.2012 22:16 Kit
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    "submit" je přece také jen odeslání dat typu key-value.
    22.12.2012 22:21 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Příloha:
    Dobre, uz vim, ze budu pouzivat --post-data=string, ale jak pomoci wget nasmeruju retezec k urcitemu poli na www strance? Ukazku tech ctyr poli jsem hodil do prilohy teto zrpavy.
    22.12.2012 22:28 Kit
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Každý element formuláře má přece name a value. Jenom je poskládáš do stringu jako name=value.
    22.12.2012 22:43 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Jo, rozumim. Nazev dvou poli, kam chci dat nejakou hodnotu, je "pdbid1" a "pdbid2". Takze nejak takhle:

    wget --post-data "pdbid1=1us0&pdbid2=1byb" "http://ekhidna.biocenter.helsinki.fi/dali_lite/start"

    Kdyz to spustim, tak mi to stahne soubor start.html, ze ktere nepoznam vubec co se stalo.

    Jak uz jsem z ukazky napovedel, jedna se o tuto stranku "http://ekhidna.biocenter.helsinki.fi/dali_lite/start" kdyz napises do prvniho pole "Or enter PDB identifier:" hodnotu "1us0", pole "Chain" nech volne...do dalsiho pole pod nim "Or enter PDB identifier:" hodnotu "1byb" a zas vedle nej to pole "chain" nech volne. Kliknes na submit, tak se ti po chvili ukaze stranka, coz je vysledek. Slo by to nejak zmechanizovat bashem?

    22.12.2012 23:06 Kit
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    wget --post-data "pdbid1=1us0&pdbid2=1byb&submit=submit" "http://ekhidna.biocenter.helsinki.fi/dali_lite/start"
    
    Ten stažený soubor v HTML by měl obsahovat požadovaný výsledek. Jenže tam mají nějaké ochrany, tak si s tím budeš muset trochu pohrát.
    Jendа avatar 22.12.2012 23:18 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Neobsahuje (viz můj komentář), protože výpočet jim chvíli trvá. Musíš následovat meta refrech na stránku s výsledkem.
    Nezapomeňte si posunout časovače na svých bombách o hodinu dopředu!
    22.12.2012 23:27 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    přesně tak, část url výsledku je asi unikátně vygenerová. A nad tim si ted lamu hlavu jak tu url vysledku zjistit.

    Poslání informací z téhle stránky:

    http://ekhidna.biocenter.helsinki.fi/dali_lite/start

    udela tuhle stranku, na ktere je vysledny soubor, ktery chci stahnout:

    http://ekhidna.biocenter.helsinki.fi/dali_server/results/20121223-0001-cd3fb1777c902d4f7257c388c79d3e3f079d5ce44aabe8b26189742fca2191ee/summary.txt

    problem je, jak to wget rict. Tohle opravdu nevim. Napada te neco?
    Jendа avatar 22.12.2012 23:15 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Implementovat se mi to nechce, ale postup, co musíš udělat:
    1. Naučíš se wgetem postovat data jako Content-Disposition: form-data. Curlem to možná půjde líp. Provázej tě LiveHTTPHeaders (plugin do Firefoxu) či Wireshark.
    2. Server ti po prvním POSTu vrátí stránku, kde je meta refresh na nějaké UUID. Následuj ho.
    3. Pak refreshuj tu stránku, na kterou tě přesměrovali (oni mají každých 6 sekund), dokud nedostaneš data.
    Nezapomeňte si posunout časovače na svých bombách o hodinu dopředu!
    22.12.2012 23:54 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Takže by to šlo udělat, už jsem si myslel, že je to nereálné :) Mám pár otázek.

    1. "Content-Disposition: form-data" tim myslis, ze pomocí tohoto budu posilat retezce, ktere zadavam jako vstup te www strance?

    2. LiveHTTPHeaders tím se budu koukat které umí zobrazovat http hlavičky? Takže je to jen pro kontrolu, skript bude fungovat i bez toho?

    3. POST mi vratí stránku (takže wget si stáhne nějakou html stránku), kde bude meta refresh na nějaké uuid. To uuid je nejaký jedinečný identifikátor, který bude ve zdrojovem kodu té stažené html stránky? Takže to uuid by mohlo být z tohoto odkazu:

    http://ekhidna.biocenter.helsinki.fi/dali_server/results/20121223-0001-cd3fb1777c902d4f7257c388c79d3e3f079d5ce44aabe8b26189742fca2191ee/summary.txt

    tohle číslo?

    20121223-0001-cd3fb1777c902d4f7257c388c79d3e3f079d5ce44aabe8b26189742fca2191ee

    Závěrem chci dodat, je to pro mě celé jedna velká novinka :D Budu rád za jekékoliv popostrčení!
    Jendа avatar 23.12.2012 00:03 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    1. No on to není „normální“ POST, ale takový ten divný, kterým se přenáší velká data, a já ho neumím wgetem poslat.

    2. Tím budeš koukat ve Firefoxu, co přesně se děje. Případně Wireshark + funkce „follow TCP stream“

    3. Ano, a to číslo (respektive celou tu URL) z toho musíš nějak vyparsovat a wgetnout si ji.
    Nezapomeňte si posunout časovače na svých bombách o hodinu dopředu!
    23.12.2012 00:13 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    ad 1. Ted si asi trosku nerozumime, já nepotřebuju přenášet velká data. Jen nanejvýš 4-znakový řetezce, které pošlu do těch polí.
    Jendа avatar 23.12.2012 00:20 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Ten formulář má nastavený atribut enctype="multipart/form-data". Naštěstí to vypadá (teď jsem to zkusil), že ten webserver na tom nelpí, takže mu to jde poslat i takhle:
    > wget http://ekhidna.biocenter.helsinki.fi/dali_lite/ControlScript --post-data="pdbfile1=&pdbid1=1us0&chainid1=&pdbfile2=&pdbid2=1byb&chainid2=&submit=submit" -O - -S
    
    Nezapomeňte si posunout časovače na svých bombách o hodinu dopředu!
    23.12.2012 00:26 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Jo, vyzkouším to, ale kukni se, co tu dal uživatel "chrono". To ušetří hodně prace!
    23.12.2012 00:36 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    aha, je to stejne, jen napsane jako prikaz. Uz jdu radsi do sveta snu, mozek uz mam pekne zrizeny! Diky za pomoc tobe i kolegum! Moc jste mi pomohli a ja se zase necemu novemu priucil ;)
    23.12.2012 00:14 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Správne url, kam treba tie údaje pomocou POST poslať je http://ekhidna.biocenter.helsinki.fi/dali_lite/ControlScript Treba tam poslať všetky vstupné elementy (teda možno nie úplne všetky, ale tie tri, ktoré sú spomínané vyššie nestačia), takže niečo to bude niečo ako: pdbfile1=&pdbid1=1us0&chainid1=&pdbfile2=&pdbid2=1byb&chainid2=&submit=submit

    V odpovedi potom príde:
    <html>
      <head>
        <title>Redirecting to results page...</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta http-equiv="refresh"
              content="0; url=http://ekhidna.biocenter.helsinki.fi/dali_server/results/20121223-0005-cd3fb1777c902d4f7257c388c79d3e3f079d5ce44aabe8b26189742fca2191ee/index.html">
      </head>
    </html>
    
    23.12.2012 00:20 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Inak po získaní tej adresy s výsledkom stačí potom opakovane načítavať ten súbor summary.txt a kontrolovať, či program wget vráti návratový kód iný ako 8 (8 je chyba serveru, teda napr. aj neexistujúci súbor).
    23.12.2012 00:28 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    jasný, supeer,chlape, tys mi vythrl trn z paty!! ;) ted me tak napada, jak opakovane nacita soubor?
    23.12.2012 00:38 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    V skripte sa použije nejaký cyklus, v ktorom bude načítavanie toho súboru pomocou wget a test návratovej hodnoty wget (návratová hodnota bude v premennej $?). Ak tá návratová hodnota nebude 8, tak buď sa ten súbor podarilo načítať, alebo nastala iná chyba (a je otázne, či má zmysel pokračovať, pretože môže ísť napr. o výpadok siete). V takom prípade sa ten cyklus ukončí (pravdepodobne pomocou break).

    PS: Samozrejme do toho cyklu treba pridať aj sleep.
    23.12.2012 00:25 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Tak tohle je genialni!!! Ja si na to prisel prosimte? Tohle mi usetrilo kotel prace!

    Neskonale DÍKY!!!
    23.12.2012 00:35 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Ten form má adresu v action atribúte (konkrétne je tam "ControlScript"). Po odoslaní neúplných dát na tú adresu vráti server chybu 500, takže asi kontroluje viac vecí (alebo je len zle naprogramovaný).
    23.12.2012 00:40 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Toho bych si minimálně dneska vubec nevšiml. Ještě jednou díky!!
    Jendа avatar 23.12.2012 00:40 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Ja si na to prisel prosimte?
    Já si to poslechl Wiresharkem.
    Nezapomeňte si posunout časovače na svých bombách o hodinu dopředu!
    24.12.2012 23:39 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Příloha:
    Ahoj, kolonou regulárních výrazů jsme si vyřezal jen tu url, pomocí které chci stáhnout požadovaný textový soubor summary.txt (kolonu regulárních výrazů posílám v příloze). Výsledný odkaz je takový (možná odkaz nebude fungovat, tuším že odkaz je vždy funkční jen pár hodin...ale když se spustí příkazy co jsou v přiloze, vygeneruje se odkaz nový):

    http://ekhidna.biocenter.helsinki.fi/dali_server/results/20121225-0019-6eb212de8afe6a0e681a2e9507b448015db4c3738c921f2d3b0241df1133041f/summary.txt

    Nechápu to, že když dám wget -O summary.txt "$summary" tak mi to vypíše chybu:

    HTTP request sent, awaiting response... 404 Not Found

    2012-12-24 23:18:57 ERROR 404: Not Found.

    Vždyt v proměnné $summary mám url k souboru a je správně, protože, když dám tu adresu nástroji wget přímo, tak to stáhne bez problému. Nechápu co dělám blbě? Díky za rady!
    25.12.2012 09:34 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Server potrebuje na vygenerovanie toho súboru nejaký čas. Preto som písal, že tam bude musieť byť cyklus, v ktorom sa bude ten súbor opakovane načítavať a ak wget vráti návratový kód 8, tak sa (po nejakej krátkej prestávke) pokúsi ten súbor načítať znova. Pri návratovom kóde 0, sa ten súbor pravdepodobne podarilo stiahnuť, takže sa cyklus môže ukončiť a pri inej chybe asi nemá zmysel ďalej pokračovať.
    25.12.2012 16:47 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Jasně, potřebuje nějaký čas. Nechápal jsem to, že když jsem ten odkaz dal přímo wget , tak soubor stáhl hned bez problému (nebo do prohlížeče)...ale když jsem místo přímémo odkazu mu dal proměnnou, která obsahovala ten samý odkaz, už to psalo chybu. Tohle na tom nechápu.

    Dále nechápu ten návratový kód 8, ať dělám co dělám, vždy se mi vrátí 0 nebo 1. Já mám za to, že návratový kód nějakého příkazu je buď 0 (proběhlo vše ok) anebo 1 (nějaká chyba).

    Dělám to nějak takhle:

    ...tady mam kolonu příkazů, kde ve výsledné proměnné $summary je url k souboru..

    if [ -n "$summary" ]; then       # podminka na neprazdny retezec, jestli byl vygenerovan url

        wget -O summary.txt $summary

        while [ "$?" -eq 1 ]; do        # cykli, dokud exit-code vyse uvedenho wget je roven 1

            sleep 8         # pockej 8 sekund a zkus ho stahnout znova

            wget -O summary.txt "$summary"

        done

    else

        echo "chyba, odkaz neni validni"

    fi

    Myslel jsem to takhle. V té nejvyšší podmínce kontroluju, zda-li je proměnná $summary prázdná. V té promměné mám uloženou url k souboru, který chci stáhnout (když je odkaz špatný, tak zkončí). Dále v prvním wget se pokusím stáhnout soubor summary.txt rovnou. Pokud to nepujde, wget vratí exit-code=1, jde do cyklu a tam počká 8 sekund a pokusí se soubor znova stáhnout. Jak ho stahne, končí. Takhle si to myslel? Zatím to jakš takš funguje.
    25.12.2012 17:01 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Program môže vrátiť akýkoľvek kód medzi 0-255 (teda taký, čo sa zmestí do jedného bajtu). To, aké kódy môže wrátiť wget je v jeho návode (v každej normálnej manuálovej stránke k programom je aj sekcia s návratovými kódmi). Napr. wget "http://abclinuxu.cz/xxxxxxxxxxxxxxxxxx"; echo $? vypíše 8.
    25.12.2012 17:16 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Do manualu k wget se teda ještě jednou podívam, ale co jsem si po zadání man wget pročetl a prolistoval, exit-cody tam nebyly. Maximálně na konci je zmínka o chybách. Nicmene po zadani tve ukazky se mi vratilo:

    ....

    HTTP požadavek odeslán, program čeká na odpověď… 404 Not Found

    2012-12-25 17:09:37 CHYBA 404: Not Found.

    1

    Buď si trochu nerozumíme, nebo osmičku tam opravdu nevidím.
    25.12.2012 17:22 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Nevšimol som si poznámku, že vo verziách 1.12 a starších je návratový kód viac menej nepoužiteľný.

    http://www.gnu.org/software/wget/manual/wget.html#Exit-Status
    25.12.2012 17:34 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Já mám GNU Wget 1.11.4 . Jinak, když se kukneš na muj postup, který jsem před půlhodinou o 2 příspěvky výše sem hodil, myslíš, že by to takhle šlo?
    Jendа avatar 25.12.2012 17:25 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Jak píše chrono níže, tak chybu budeš muset detekovat nějak jinak. Třeba že se ti tam ten správný soubor nevytvoří.
    Nezapomeňte si posunout časovače na svých bombách o hodinu dopředu!
    25.12.2012 17:35 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Když se mi tam ten soubor nevytvoří, tak ho wget nestáhne, čili jeho exid-soce bude 1. Takhle to ted mám. To by mohlo jít, ne?
    25.12.2012 18:48 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    *exit-code

    škoda, že nejdou příspěvky upravovat.
    8.1.2013 21:56 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Ahoj, již jsem udělal několik podobných skriptů, které se dotazovaly podobných stránek, ale tahle jedna mi zatím odolává. Popíšu postup jak na to jdu.

    Jedná se o tuto stránku.

    Na tuto stránku posílám pomocí metody POST a příkazu wget tohle (jednotlivé parametry jsem zjistil ze zdrojového kodu stránky):
    wget http://mspc.bii.a-star.edu.sg/minhn/pairwise.html --post-data="prot1=1us0&chain1=A&prot1file=&prot2=1k78&chain2=I&prot2file=&typeAtom=CA&SS_chkbox=on&SA_chkbox=on&RD_chkbox=on&SUBMIT=Run CLICK" -O - -S
    - výše uvedený příkaz i s parametry je to samé, jako by jste na té stránce vyplnily tyto údaje:

    Do "First Structure" dát 1us0 a do vedlejšího boxu "chains" dát (jeden znak) A

    Do "Second Structure" dát 1k78 a do vedlejšího boxu "chains" dát (jeden znak) I

    A pochopitelně kliknout na RUN.

    Mělo by mi to vrátit v odpovědi url (nebo alespoň jeho část) na výslednou stránku, ale neděje se tak. Věděl by někdo proč?

    Díky
    8.1.2013 22:56 bull
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    tohle jsem vygooglil asi před měsícem, třeba to pomůže (sry, celou diskuzi jsem nečetl): zde

    a něco je i na youtube: zde
    15.1.2013 20:04 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Díky, jsem díky tomu o něco chytřejší. Zkusil jsem to i pomocí curl, ale pořád nic. Pořád v odpovědi nedostávám žádný odkaz na výslednou url.

    Věděl by někdo?
    15.1.2013 20:50 Hanyz
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Zjistil jsem, že se informace posílají na jinou stránku:

    wget http://mspc.bii.a-star.edu.sg/cgi-minhn/run_click.py --post-data="prot1=1us0&chain1=A&prot1file=&prot2=1k78&chain2=I&prot2file=&typeAtom=CA&SS_chkbox=on&SA_chkbox=on&RD_chkbox=on&SUBMIT=Run CLICK" -O - -S

    Ale výsledek pořád žádný..
    15.1.2013 22:38 chrono
    Rozbalit Rozbalit vše Re: BASH - jak poslat urcita data na zadanou stranku
    Pre odosielanie dát sa tam používa multipart/form-data a wget to nepodporuje takže napr. s curl by to mohlo vyzerať nejako takto:
    curl -o - -F "prot1=1us0" -F "chain1=A" -F "prot1file=" -F "prot2=1k78" -F "chain2=I" -F "prot2file=" -F "typeAtom=CA" -F "SS_chkbox=on" -F "SA_chkbox=on" -F "RD_chkbox=on" -F "SUBMIT=Run CLICK" http://mspc.bii.a-star.edu.sg/cgi-minhn/run_click.py
    Časť -o - spôsobí, že sa výsledok vypíše na štandardný výstup a je možné, že bude rozumnejšie uložiť to niekam inam. Každopádne v odpovedi je potom aj presmerovanie na stránku, na ktorej sa potom zobrazia požadované údaje.

    PS: Namiesto parametra -F sa môže použiť --form-string (parameter -F môže totiž poslať nejaký súbor, je to popísané v návode k curl).

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.