Kezdőoldal » Számítástechnika » Programozás » A curl parancsban a -J -O...

A curl parancsban a -J -O kapcsolót miként lehet Python request kérésre átkonvertálni?

Figyelt kérdés

curl -n -J -O -X GET $URL/$id


Az URL maga nem tartalmazza a file nevet, csak a response-ban lenne jelen a filename. Ennek a letöltéséhez segítség a -J -O kapcsolók.


Eddig itt tartok:


filename="foobar"

with requests.get(uri, headers=headers, stream=True) as resp:

with open(filename, "wb") as f:

for chunk in resp.iter_content(chunk_size=4096):

if chunk: # filter out keep-alive new chunks

f.write(chunk)

f.flush()


Csakhogy itt a foobar név nem lesz hasznos. Mást meg honnan hatnék?



2021. márc. 3. 14:24
 1/4 A kérdező kommentje:

Indentet megette a fórum, úgyhogy újra:

with requests.get(uri, headers=headers, stream=True) as resp:

__with open(filename, "wb") as f:

____for chunk in resp.iter_content(chunk_size=4096):

______if chunk: # filter out keep-alive new chunks

________f.write(chunk)

____f.flush()

2021. márc. 3. 14:24
 2/4 anonim ***** válasza:
76%

Először is azt ajánlanám, hogy valamilyen kód megosztót használj és ne itt a gyk-n posztold a kódot, mert a formátum teljesen tönkremegy.


Szóval, az a lényeg, hogy amikor elküldöd a requestet, akkor a file nevet ki kell olvasni a response header-ből. Aztán eltárolod a file nevét és ezt használod a mentéshez. Így tudod kiolvasni: print(response.headers) Ha van egy URL, amit megoszthasz rá tudok nézni

2021. márc. 3. 14:54
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

A content-disposition headerben benne kéne lennie a fájlnévnek:

>>> resp.headers['content-disposition']

'inline; filename="asdasdasd.pdf"'

2021. márc. 3. 15:13
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

Köszi mind2-t :)

Adja.

2021. márc. 3. 18:02

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!