• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    NYXnyx :: API
    NYX
    NYX --- ---
    GIOMIKY: Pres dev tools jsem zmanipulovat firefox aby poslal dotaz na api (api akceptuje i id_user / session cookies, proto tam nemam ty auth veci) a tohle funguje (par veci jsem teda vyhodil, ale v principu by tohle melo byt ok):

    Jinak pro jistotu zkus vzdy poslat neco v message, nejsem si jisty, jestli to api nepozaduje...ale myslim, ze tohle jsem opravoval.

    POST /api.php HTTP/1.1
    Host: www.nyx.cz
    User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate, br
    Referer: https://www.nyx.cz/
    Content-Type: multipart/form-data; boundary=---------------------------2947931362286975723942639516
    Content-Length: 2353
    Origin: https://www.nyx.cz
    DNT: 1
    Connection: keep-alive
    Cookie: cookie_consent=1; last_port_add=455; ssl=1; id_user=1; session=XXX
    Upgrade-Insecure-Requests: 1
    Sec-Fetch-Dest: document
    Sec-Fetch-Mode: navigate
    Sec-Fetch-Site: same-origin
    Sec-Fetch-User: ?1

    A body pak je:

    -----------------------------2947931362286975723942639516
    Content-Disposition: form-data; name="id"

    22326
    -----------------------------2947931362286975723942639516
    Content-Disposition: form-data; name="message"

    test
    -----------------------------2947931362286975723942639516
    Content-Disposition: form-data; name="attachment"; filename="test.txt"
    Content-Type: text/plain

    Oh, hi!
    -----------------------------2947931362286975723942639516
    Content-Disposition: form-data; name="l"

    discussion
    -----------------------------2947931362286975723942639516
    Content-Disposition: form-data; name="l2"

    send
    -----------------------------2947931362286975723942639516--
    NYX
    NYX --- ---
    GIOMIKY: Jakykoliv soubor. Mas moznost vypsat cely ten odchazejici request? Kdyztak posli. Bez auth udaju samozrejme :-)
    NYX
    NYX --- ---
    GIOMIKY: Nejsem pythonista, ale ciste kdyz na to koukam, tak ty postupujes presne naopak...udelas nejaky multipart a ten strcis jako jeden z parametru.

    Spravne ty naopak mas udelat multipart body a do nej nastrkat jak parametry, tak soubory.

    content-disposition je pak vlastnost konkretniho kusu toho multipartu, ne requestu jako celku.

    Nevim jakou verzi urllib tam mas, tady je priklad pro dvojku. https://pymotw.com/2/urllib2/#uploading-files
    NYX
    NYX --- ---
    LUCIEN: Ja mam podezreni, ze ten tag ti zavre prohlizec, v html ti nejspis chodi to cos posilal jako prvni.
    LUCIEN
    LUCIEN --- ---
    LUCIEN: Pardon, ono to ten prvni odkaz uzavre, takze je prazdny, takhle...
    
    <a href="http://google.com"></a> <a href="http://i.mg/t.jpg"><img src="http://nyx.cz/...../thumb.jpg"></a>
    LUCIEN
    LUCIEN --- ---
    NYX: Vidim v tom trochu problem... Pokud uzivatel odesle napr.:

    
    <a href="http://google.com"><img src="http://i.mg/t.jpg"></a>
    


    tak to api vrati takhle

    
    <a href="http://google.com"><a href="http://i.mg/t.jpg"><img src="http://nyx.cz/...../thumb.jpg"></a></a>
    


    ...
    NYX
    NYX --- ---
    LUCIEN: Api posila zmensene obrazky s odkazem na original
    LUCIEN
    LUCIEN --- ---
    Narazil jsem na takovou zvlastnost. Nyx API obaluje z nejakeho duvodu <img> tagy vlastnim <a> tagem? Priklad...

    Volani:
    
    curl --location --request POST 'http://www.nyx.cz/api.php' \
    --form 'auth_nick=***' \
    --form 'auth_token=***' \
    --form 'l=discussion' \
    --form 'l2=messages' \
    --form 'id=14158' \
    --form 'direction=older' \
    --form 'id_wu=51989987'
    


    Vrati:
    
    {
        "attributes": [],
        "data": [
            {
                "id_wu": "51989986",
                "nick": "ALENNAI",
                "time": "1588769724",
                "content": "Letenské náměstí, Pha<br/>\r\n1906<br/>\r\n<a href=\"https://scontent-frt3-1.xx.fbcdn.net/v/t1.0-9/95868467_10222313885457008_571386579155681280_n.jpg?_nc_cat=107&_nc_sid=1480c5&_nc_ohc=nvnC0EI1qMAAX-2mtaB&_nc_ht=scontent-frt3-1.xx&oh=7d89cd186d79edc4ef2375e70a80b7bc&oe=5ED82A68\"><img src=\"http://www.nyx.cz/i/t/57e4561116d3732129579027e75c25f2.png?url=https%3A%2F%2Fscontent-frt3-1.xx.fbcdn.net%2Fv%2Ft1.0-9%2F95868467_10222313885457008_571386579155681280_n.jpg%3F_nc_cat%3D107%26_nc_sid%3D1480c5%26_nc_ohc%3DnvnC0EI1qMAAX-2mtaB%26_nc_ht%3Dscontent-frt3-1.xx%26oh%3D7d89cd186d79edc4ef2375e70a80b7bc%26oe%3D5ED82A68\" class=\"thumb\"></a><br/>\r\nsoučasnost<br/>\r\n<a href=\"https://upload.wikimedia.org/wikipedia/commons/4/4a/Letensk%C3%A9_n%C3%A1m%C4%9Bst%C3%AD%2C_od_z%C3%A1padu%2C_tramvajov%C3%A1_zast%C3%A1vka.jpg\"><img src=\"http://www.nyx.cz/i/t/a9afd1f6e5b05fcdaa9ceb41840dfaf2.png?url=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F4%2F4a%2FLetensk%25C3%25A9_n%25C3%25A1m%25C4%259Bst%25C3%25AD%252C_od_z%25C3%25A1padu%252C_tramvajov%25C3%25A1_zast%25C3%25A1vka.jpg\" class=\"thumb\"></a> ",
                "wu_rating": "47",
                "wu_type": "0"
            },
    ...
    


    Zatimco kdyz si v browseru inspectnu ten samy prispevek, tak to vrati toto

    
    Letenské náměstí, Pha<br/> 1906<br/> <img src="https://scontent-frt3-1.xx.fbcdn.net/v/t1.0-9/95868467_10222313885457008_571386579155681280_n.jpg?_nc_cat=107&amp;_nc_sid=1480c5&amp;_nc_ohc=nvnC0EI1qMAAX-2mtaB&amp;_nc_ht=scontent-frt3-1.xx&amp;oh=7d89cd186d79edc4ef2375e70a80b7bc&amp;oe=5ED82A68"><br/> současnost<br/> <img src="https://upload.wikimedia.org/wikipedia/commons/4/4a/Letensk%C3%A9_n%C3%A1m%C4%9Bst%C3%AD%2C_od_z%C3%A1padu%2C_tramvajov%C3%A1_zast%C3%A1vka.jpg">
    


    ... tedy podstatne kratsi post orezany o veskere anchor tagy.

    To je zamer?
    NYX
    NYX --- ---
    Imho slape
    NYX
    NYX --- ---
    Test

    Apollo 11 Saturn V Launch Camera E-8
    http://www.youtube.com/watch?v=DKtVpvzUF1Y
    LUCIEN
    LUCIEN --- ---
    Nyxi, jsi nakloneny k nejakemu dalsimu rozsirovani API? Myslim, ze urcite drobnosti jako - novy endpoint pro vypis upominek, by se siknul a nemusel by to byt tak pracne (snad)...
    DATEL
    DATEL --- ---
    NYX: ok, zatím není potřeba, ale dám kdyžtak vědět, až to bude aktuální. Díky.
    NYX
    NYX --- ---
    DATEL: Co jsem koukal, server side je to jen zmena endpointu, tak cekam na prvniho klienta co to bude chtit.
    DATEL
    DATEL --- ---
    @Nyx: prosím tě, jak je to se serverovou podporou pro notifikace pro Androida? Pořád tam je GCM nebo už je to převedené na Firebase Cloud Messages? Díky za info.
    LUCIEN
    LUCIEN --- ---
    LUCIEN: Tak uz mi to doslo. Tohle to vraci, kdyz clovek palcuje svuj vlastni prispevek...
    LUCIEN
    LUCIEN --- ---
    Funguje v api palcovani? At delam co delam, vraci se mi 404 - Writeup not found.

    Koukal jsem, ze z webu se posila id a id_comment namisto id_klub a id_wu, ale tim to neni. Prispevek samozrejme existuje, to samy ID volany z webu palcuje, ale z api ne... Prehlizim neco?

    Volam:
    
    curl --location --request POST 'http://www.nyx.cz/api.php' \
    --header 'Content-Type: multipart/form-data; boundary=--------------------------949504874427496235609830' \
    --form 'auth_nick=*******' \
    --form 'auth_token=*****************************' \
    --form 'l=discussion' \
    --form 'l2=rating_give' \
    --form 'id_klub=1786' \
    --form 'id_wu=51781434' \
    --form 'rating=positive' \
    --form 'toggle=1'
    


    Vraci se mi:
    
    {"result":"error","code":"404","error":"Writeup not found","system":{"max_file_size":"10485760","notice_count":"1","premium":"1"}}
    


    Diky.
    LUCIEN
    LUCIEN --- ---
    NYX: Tak jsem se smazal a dal si facku. Pochopil jsem to trochu jinak. Nenapadlo me, ze pokud manualne zvysim id o 1 (789 -> 790), bude to fungovat. Diky!
    NYX
    NYX --- ---
    Prispevku
    NYX
    NYX --- ---
    LUCIEN: Posli id pridpeviu o jedna vyssi
    LUCIEN
    LUCIEN --- ---
    Lze vypsat od urcite prispevku vcetne toho prispevku? Pokud volam l=discussion;l2=messages;id=123;id_wu=789;direction=older, tak vypis neobsahuje prispevek 789. Je pro to nejaky parametr?
    Kliknutím sem můžete změnit nastavení reklam