API request v curl

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
molnart
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 6663
Dátum registrácie: Ut 19. Jún, 2012, 23:03
Bydlisko: Bratislava/Samorin

API request v curl

Príspevok od používateľa molnart »

Mam jeden uplne trapny dotaz: ako zadavat api requesty cez curl alebo cez online api emulator typu https://reqbin.com/ ?

ako pokus sa snazim ziskat pocet neprecitanych clankov z rss citacky cez endpoint https://www.inoreader.com/reader/api/0/unread-count

zaregistroval som si "aplikaciu" v citacke, dostal som appID a appkey, ked zadam do prehliadaca adresu

Kód: Vybrať všetko

https://www.inoreader.com/reader/api/0/unread-count?AppId=**************&AppKey=*****************
tak mi to vrati json s udajmi ktore potrebujem.
ked ale zadam to iste cez curl tak dostanem chybu AppId not found or appKey is incorrect.

Takto som pohorel aj praci pri jednej veci, ked som dostal API endpoint na zasielanie smsiek, najprv som to skusal cez REST API emulator, nakoniec som to zadal ako webovu adresu a islo to. teraz to ale chcem zadat cez prikazovy riadok aby som s vysledkom mohol dalej pracovat.

dakujem za navedenie
Spoiler: ukázať
PC: CPU: Intel Core i5 12600K with Silentium Fortis 5 ARGB MB: MSI Tomahawk Z690 DDR4 RAM: 2x 16GB G.Skill Ripjaws V 4400-19 DDR4 GPU: GigaByte Eagle GeForce RTX 3060 Ti OC HDD: Samsung 970 1GB GB PSU: Corsair RMx (2018) 650W Case: Fractal Meshify 2 Compact Monitor: Philips 272B7QPJEB OS: Win 11 64-bit
Notebook: HP EliteBook 840 G6 Core i5 8265U, 16 GB RAM, 512 GB SSD
Server: HP Microserver Gen8 Xeon E3-1265Lv2, 16GB ECC DDR3 OS: PVE + OMV + OPNsense
Phone: Samsung Galaxy A52s
Tablet: iPad Pro 11 (2018)
faugusztin
Moderátor
Moderátor
Príspevky: 15047
Dátum registrácie: Ut 26. Feb, 2008, 14:00
Bydlisko: Bratislava/Štúrovo

Re: API request v curl

Príspevok od používateľa faugusztin »

Otazkou je, ze ci robis normalne dany request cez browser. Ak ano, tak sprav request s otvorenym Developer tools, a nasledne mozes v Chrome a Firefoxe stlacit prave tlacitko nad requestom a vybrat Copy > Copy as cURL (cmd pre Windows, bash pre Linux).
LordKJ
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 7729
Dátum registrácie: Po 28. Feb, 2011, 11:49
Bydlisko: Bratislava

Re: API request v curl

Príspevok od používateľa LordKJ »

davas adresu do uvodzoviek? (aby ti shell neintrepretoval specialne znaky v url)

Kód: Vybrať všetko

curl "https://www.inoreader.com/reader/api/0/unread-count?AppId=**************&AppKey=*****************"
Používateľov profilový obrázok
Hexaris
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 782
Dátum registrácie: Št 11. Júl, 2019, 19:35
Bydlisko: Nekde na zahori

Re: API request v curl

Príspevok od používateľa Hexaris »

Your value does not decrease because of someone's inability to see your worth.
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
Používateľov profilový obrázok
molnart
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 6663
Dátum registrácie: Ut 19. Jún, 2012, 23:03
Bydlisko: Bratislava/Samorin

Re: API request v curl

Príspevok od používateľa molnart »

dakujem vsetkym za rady. uvodzovky ako pisal LordKJ funguju, zistil som ale ze browser mi funguje preto, lebo som prihlaseny do aplikacie. takze musim este polaborovat ako spravit autentikaciu cez curl. idem sa s tym este hrat.
Spoiler: ukázať
PC: CPU: Intel Core i5 12600K with Silentium Fortis 5 ARGB MB: MSI Tomahawk Z690 DDR4 RAM: 2x 16GB G.Skill Ripjaws V 4400-19 DDR4 GPU: GigaByte Eagle GeForce RTX 3060 Ti OC HDD: Samsung 970 1GB GB PSU: Corsair RMx (2018) 650W Case: Fractal Meshify 2 Compact Monitor: Philips 272B7QPJEB OS: Win 11 64-bit
Notebook: HP EliteBook 840 G6 Core i5 8265U, 16 GB RAM, 512 GB SSD
Server: HP Microserver Gen8 Xeon E3-1265Lv2, 16GB ECC DDR3 OS: PVE + OMV + OPNsense
Phone: Samsung Galaxy A52s
Tablet: iPad Pro 11 (2018)
Používateľov profilový obrázok
Hexaris
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 782
Dátum registrácie: Št 11. Júl, 2019, 19:35
Bydlisko: Nekde na zahori

Re: API request v curl

Príspevok od používateľa Hexaris »

Preto som postol aj url z ich stranky kde mas napisane, ze to pridavas do header 🙃. Skus a uvidis ...
Your value does not decrease because of someone's inability to see your worth.
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
Používateľov profilový obrázok
molnart
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 6663
Dátum registrácie: Ut 19. Jún, 2012, 23:03
Bydlisko: Bratislava/Samorin

Re: API request v curl

Príspevok od používateľa molnart »

dava mi to unauthorized. vyzera to tak ze potrebujem v headeri pouzivat aj auth token ktory ziskam takto https://www.inoreader.com/developers/auth

akurat ze mi to dava chybu s certifikatom

Kód: Vybrať všetko

curl -X POST -H "Email: xxxxxxxxxxxxx" -E "Passwd: xxxxxxxxxxxxx" https://www.inoreader.com/accounts/ClientLogin
curl: (58) could not load PEM client certificate, OpenSSL error error:02001002:system library:fopen:No such file or dire
ctory, (no key found, wrong pass phrase, or wrong file format?)
Spoiler: ukázať
PC: CPU: Intel Core i5 12600K with Silentium Fortis 5 ARGB MB: MSI Tomahawk Z690 DDR4 RAM: 2x 16GB G.Skill Ripjaws V 4400-19 DDR4 GPU: GigaByte Eagle GeForce RTX 3060 Ti OC HDD: Samsung 970 1GB GB PSU: Corsair RMx (2018) 650W Case: Fractal Meshify 2 Compact Monitor: Philips 272B7QPJEB OS: Win 11 64-bit
Notebook: HP EliteBook 840 G6 Core i5 8265U, 16 GB RAM, 512 GB SSD
Server: HP Microserver Gen8 Xeon E3-1265Lv2, 16GB ECC DDR3 OS: PVE + OMV + OPNsense
Phone: Samsung Galaxy A52s
Tablet: iPad Pro 11 (2018)
LordKJ
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 7729
Dátum registrácie: Po 28. Feb, 2011, 11:49
Bydlisko: Bratislava

Re: API request v curl

Príspevok od používateľa LordKJ »

kde pouzivas curl
Používateľov profilový obrázok
molnart
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 6663
Dátum registrácie: Ut 19. Jún, 2012, 23:03
Bydlisko: Bratislava/Samorin

Re: API request v curl

Príspevok od používateľa molnart »

skudal som Ubuntu cez WSL a Debian v OpenMediaVault. finalne by mi to malo fungovat v docker containeri
Spoiler: ukázať
PC: CPU: Intel Core i5 12600K with Silentium Fortis 5 ARGB MB: MSI Tomahawk Z690 DDR4 RAM: 2x 16GB G.Skill Ripjaws V 4400-19 DDR4 GPU: GigaByte Eagle GeForce RTX 3060 Ti OC HDD: Samsung 970 1GB GB PSU: Corsair RMx (2018) 650W Case: Fractal Meshify 2 Compact Monitor: Philips 272B7QPJEB OS: Win 11 64-bit
Notebook: HP EliteBook 840 G6 Core i5 8265U, 16 GB RAM, 512 GB SSD
Server: HP Microserver Gen8 Xeon E3-1265Lv2, 16GB ECC DDR3 OS: PVE + OMV + OPNsense
Phone: Samsung Galaxy A52s
Tablet: iPad Pro 11 (2018)
Používateľov profilový obrázok
Hexaris
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 782
Dátum registrácie: Št 11. Júl, 2019, 19:35
Bydlisko: Nekde na zahori

Re: API request v curl

Príspevok od používateľa Hexaris »

To sa mi nejak nezda, nemas nejaky testovaci ucet ? Ja tieto curl api veci pouzivam pravidelne a este sa mi nestalo aby nieco neslo. To co popisujes je stary sposob prihlasovania, maju to tam aj napisane. Ten ich link co som postol popisuje, ze do header staci len appid a appkey. Divne no ... 🤔
Your value does not decrease because of someone's inability to see your worth.
BOOK: MB Air M1 2020 AMP: Topping DX3Pro+ HEADPHONES: HiFiMAN HE400SE
LordKJ
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 7729
Dátum registrácie: Po 28. Feb, 2011, 11:49
Bydlisko: Bratislava

Re: API request v curl

Príspevok od používateľa LordKJ »

No ale tuto
https://www.inoreader.com/developers/auth

pise, ze email a passwd su request parametre tj

Kód: Vybrať všetko

$ curl -X POST "https://www.inoreader.com/accounts/ClientLogin?Email=xxx&Passwd=www"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    32  100    32    0     0     19      0  0:00:01  0:00:01 --:--:--    19Error=Wrong username or password
(tj je tam rozdiel medzi client a app-auth)

// edit

a v tvom tvojom commande je problem, ze tam omylom mas -E, co caka certifikat a nie header :D
https://curl.haxx.se/docs/manpage.html
Používateľov profilový obrázok
molnart
Pokročilý používateľ
Pokročilý používateľ
Príspevky: 6663
Dátum registrácie: Ut 19. Jún, 2012, 23:03
Bydlisko: Bratislava/Samorin

Re: API request v curl

Príspevok od používateľa molnart »

ok, som debil, ten prikazovy riadok sa mi uplne rohadze vzdy, neviem ako sa tam dostal do -E

kazdopadne toto mi uz funguje cez API. Otazka je ako zadat do Curl - podla mna tam robi problem ta medzera v "GoogleLogin auth". skusal som %20 aj uvodzovky, ale vrati mi ro unauthorize

Kód: Vybrať všetko

POST /reader/api/0/unread-count HTTP/1.1
Host: www.inoreader.com
User-Agent: my-awesome-app
AppId: xxxxxxxxxxxx
AppKey: xxxxxxxxxxxxxxxx
Authorization: GoogleLogin auth=xxxxxxxxxxxxxxxxxx
Content-Type: application/json
Content-Length: 0
Spoiler: ukázať
PC: CPU: Intel Core i5 12600K with Silentium Fortis 5 ARGB MB: MSI Tomahawk Z690 DDR4 RAM: 2x 16GB G.Skill Ripjaws V 4400-19 DDR4 GPU: GigaByte Eagle GeForce RTX 3060 Ti OC HDD: Samsung 970 1GB GB PSU: Corsair RMx (2018) 650W Case: Fractal Meshify 2 Compact Monitor: Philips 272B7QPJEB OS: Win 11 64-bit
Notebook: HP EliteBook 840 G6 Core i5 8265U, 16 GB RAM, 512 GB SSD
Server: HP Microserver Gen8 Xeon E3-1265Lv2, 16GB ECC DDR3 OS: PVE + OMV + OPNsense
Phone: Samsung Galaxy A52s
Tablet: iPad Pro 11 (2018)
LordKJ
Sponzor fóra gold
Sponzor fóra gold
Príspevky: 7729
Dátum registrácie: Po 28. Feb, 2011, 11:49
Bydlisko: Bratislava

Re: API request v curl

Príspevok od používateľa LordKJ »

sak normalne je to header -H "Authorization: GoogleLogin auth=xxxxxxxx"

ale ma to byt POST?

Návrat na "Programovanie"