Hallo,
ich möchte autom. Dateien von einer Webseite herunterladen, wofür man erst einen Button anklicken muß.
z. B. hier:
https://de.allianzgi.com/de-de/unsere-fonds/fonds/list#
-> Download Daily Nav
oder
https://www.ishares.com/de/privatanleger/de/produkte/etf-investments#!type=emeaIshares&tab=overview&view=list
-> Fondsliste herunterladen -> Alle Fonds herunterladen
Aktuell mache ich das tägl. manuell, möchte das aber automatisieren.
Wie kann ich solche Dateien per C# (.net 4.8, WinForms) herunterladen ?
Tschau
Martin
Dafür würde sich doch eher der Abruf einer API eignen. Du musst nicht den Umweg gehen und das ganze HTML Filtern.
klar, eine API wäre eine feine Sache, steht aber nicht zur Verfügung. So waren zumindest deren Aussagen auf Nachfrage.
Ich will auch kein HTML crawlen, nur die vorhandene Excel-Datei erhalten, die für mich quasi hinter einem Button versteckt ist.
Ich weiß nicht, wie ich per Code den Button drücken kann.
Tschau
Martin
Ich will auch kein HTML crawlen, nur die vorhandene Excel-Datei erhalten, die für mich quasi hinter einem Button versteckt ist.
Willst das nicht, dann kannst jetzt alles liegen lassen, weil ohne das wirds nichts werden.
In beiden Fällen liegt nicht einfach so eine Excel-Datei rum.
Für den ersten Link musst das HTML crawlen und dann den entsprechenden Button suchen.
Danach kannst hier das Tag data-download-url
auslesen und selbst downloaden.
<a class="c-link c-link--block c-link--icon js-toggle-tooltip__link js-fund-list-excel u-margin-left-s download-all-toggle" data-download-url="/api/funddata/exportdailynavlist/d690ca83-118c-4d75-8bbc-da112c7570c7/3bc6824a-73ea-4473-8206-be0c512f1b83" tabindex="0" href="#">
<span aria-hidden="true" class="c-link__icon c-icon c-icon--excel c-icon--s"></span>
<span class="c-link__text">download daily nav</span>
</a>
Wenn Du Glück hast reicht auch ein einfaches Regex, um an den Link zu kommen.
Der zweite Fall is deutlich komplexer: Du musst das HTML crawlen und dann schauen, was der Button macht.
Hier ist es jedoch kein einfacher Link zu einem Ziel, sondern ein Button, der an einen JavaScript Event durch Angular hängt.
Da das ein dynamischer Event-Handler ist, kannst Du das nicht statisch tun, sondern musst das immer aus den HTML Code auslesen und Dich dynamisch an den Event hängen.
Vermutlich löst der Angular Event dann einen XHR-Call an eine Zieladresse aus, die Du abfangen musst.
Beim Anfangen wird dann die Ziel-Url in den Event-Daten stehen, die Du dann nehmen kannst, um selbst zu downloaden.
In beiden Fällen kann es sein, dass die Session ebenfalls mitgegeben werden muss für den Download.
Aber das weiß man nur, wenn man es ausprobiert oder den Server-Code kennt.
Ja, eine API wäre einfacher.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Von C# mal abgesehen könnten Selenium (aktueller: Playwright), Python geeigneter sein.
Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉
Hallo,
Danke für diese Hinweise, aber diese haben mich nicht weitergebracht.
Bin durch Zufall darauf gestoßen, daß man den Browser die Netzwerkanalyse durchführen kann. Dort sieht man quasi die Quelle zum Download.
Das ist ein CURL-Aufruf.
Das geht direkt in CMD.exe und entsprechend kann die Ausgabe in eine Datei umgeleitet werden.
Mit einem C#-Process kann das dann heruntergeladen und gespeichert werden.
String Command = @"/C "+ PfadCurl + "curl " + CurlLink + " >" + Filename;
Process.Start("cmd.exe", Command);
Bei 2 Fondsanbietern hat es geklappt, bei einem ist die CURL-Adresse zu lang für CMD. Suche noch nach einer Lösung.
Es ist nur eine Lösung für spezielle Fälle, nicht für alles.
Tschau
Martin
Hallo,
ich bin nun auf der Suche für das 2. Problem, d. h. wenn die Parameter über 8k sind, dann geht es mit dem CMD-Befehl nicht mehr.
Ich suche nun eine Lösung, daß ich für den CURL-Befehl die Parameter über eine Datei hinzufüge, allerdings klappt das nicht.
curl -d "c:\Curl.txt"
oder
curl -d "@c:\Curl.txt"
curl <"c:\Curl.txt"
gehen nicht.
Erhalte nur
curl: no URL specified!
curl: try 'curl --help' for more information
Die Hilfeangabe hat leider nicht geholten.
Hat das mal jemand irgendwie geschafft ?
Tschau
Martin
Warum extra curl für den Download starten.
Die URL ist doch vorhanden, dann kannst du doch den HttpClient nehmen.
Die Curl lautet allerdings so lange, daher soll diese in eine Datei verlagert und über CURL aufgerufen werden. Für CMD ist das zu lange, ebenfalls für HTTP-Abfrage:
curl "https://www.blackrock.com/at/privatanleger/product-screener/product-screener-v3.jsn?type=excel" -X POST -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0" -H "Accept: application/json, text/plain, /" -H "Accept-Language: de,en-US;q=0.7,en;q=0.3" -H "Accept-Encoding: gzip, deflate, br" -H "Referer: https://www.blackrock.com/at/privatanleger/produkte/product-list" -H "Content-Type: application/x-www-form-urlencoded" -H "Origin: https://www.blackrock.com" -H "Connection: keep-alive" -H "Cookie: STICKY_SESSION_COOKIE_UK_RETAIL01_LIVE=""b62664beee635423""; ts-de-retail-locale=de_DE; s_fid2=3F7DD1BF89045F81-2105CE523D848B20; blkUserType-de-retail=individual; de-retail-recent-funds=237595; ts-one-locale=en_US; s_fid=26D2EB51B0144ED1-0B35A90747922AD4; ts-one-at-locale=de_AT; blkUserType-one-at=individual; _abck=7A6B3509B8B8DDC30A5C0CB5DE52E1800YAAQltlraI1qFp5/AQAAVGGvoAdlsR+DnhCfC6xSqL2fi1w1fF1BbQJOIwpyUofL/MIBLHLWZ8BsSxquZttNMNEd6pZpF85dbc0ad5mAwHoB12lkQpku23l3N11p5RKd1A4L7QCnEkCzOBbgb76pERX7vEj88TcTDoMiBXpBiJtf8c3X/SpIX+LLY8StjlMUhu58neMYK/56gIrSI3J2cxGFl0JyPfTx1H1F4qw9jLgTHnCGq0VdRspqs2GxG8jPJ/XNXpDvHXsbddXyvoejQU5r+OUage1nimvdNdYQqkOZIJ8przs1LjctKW/N8Ig4rOhefEl6Z0t1GQufBQDiC4xhExgWpvGcGTnZitCRJc73nCqV/aawZ9mWGXIP/6j4CRPIrneLTfF84WWfyjssKoQyyB0EFWSO0UZS0||-1||-1; utag_main=v_id:017ec649b8870038f4f0b376fc5a0004e006600d009dc$_sn:27
$_se:4$_ss:0
$_st:1657223506117$vapi_domain:blackrock.com
$ses_id:1657221685270"%"3Bexp-session`$_pn:1"%"3Bexp-session; cleared-old-consent-cookies=; OptanonConsent=isGpcEnabled=0&datestamp=Thu+Jul+07+2022+21"%"3A21"%"3A26+GMT"%"2B0200+(Mitteleurop"%"C3"%"A4ische+Sommerzeit)&version=6.27.0&isIABGlobal=false&hosts=&landingPath=NotLandingPage&groups=C0001"%"3A1"%"2CC0003"%"3A0"%"2CC0002"%"3A0"%"2CC0004"%"3A0&geolocation="%"3B&AwaitingReconsent=false&consentId=f22357d1-3780-4c3d-bd0c-1c6d62f64cc9&interactionCount=0; OptanonAlertBoxClosed=2022-02-26T06:55:53.073Z; AMCV_631FF31455E575197F000101"%"40AdobeOrg=-1303530583"%"7CMCIDTS"%"7C19050"%"7CMCMID"%"7C52307340170082227444897750253089020135"%"7CMCAID"%"7CNONE"%"7CMCOPTOUT-1645865753s"%"7CNONE"%"7CvVersion"%"7C3.3.0; JSESSION_uk-retail01=E241FFC8607E8864970598DA3C60EB5A.03; SSESSIONID_uk-retail-k=ZjVhNjgwZWUtNWEwOC00NjVkLThjNGItNzJmYWRhOTZjZGFh; b71e11317c8db928fe965cfeebd54975=90d3a573e74022e0aed3e22e0265fc3d; c68299fd7efaf68170a7b1f970bcc72f=c9f30c2ba657f6f2fbc9cb760a62fa73; NAUTILUS-XSRF-TOKEN=199399fd-96b7-4a05-9e32-7185c7411311; SSESSIONID_uk-retail01=ZjdkYTllMWQtMTA0OC00ZjE1LWI4Y2MtZWZkMWM3NjhmZTlh; SSESSIONID_uk-retail01=NjE5YzFhNGMtNmY2Zi00MjAxLWI1ZWQtNDk4MTFhMGFjMzk2; AllowAnalytics=false; AMCVS_631FF31455E575197F000101"%"40AdobeOrg=1; ak_bmsc=115A400EFA709BF27958E3D9CAFD6BFF000000000000000000000000000000YAAQYE1lX3WEadeBAQAAl+kc2hDF5B/jxTsJf4jVGM27KSM5h6j4Si6rkJbEG+l/RO3ec9QbBlQzRnAtd8LH9O8UCkRfTMYwA+4ONcewPSHbeYCl0iJ89IKM72b0auNivTNa9kecPNHBvtTSUX3M7lJ1W3Ta7nrpi56/whr+y7GczhVpw5gzuOwlp7f/nlZqgP7eOf714DH5OAglsL8u0ECu4fIUpQRUyHw0lWGcm1kpsg0Z0vp4MmwVxupPGRgiXIeBkWwcpGsUjmvUCCXV55koQx1kMc+lRiXib7XGIQP+9x49Syur9JFz/50Vm1NZCHJyc9xX8sVq+6wcrm0QHAVJiaoKV27TADXlykHPS8jCxvvLoR/SPL9LsQjvO78D5Hwu5oDY0281/p2+hA==; bm_sv=7314F56303BF165EE115A314564A0EF2YAAQYE1lX+qEadeBAQAAWfcc2hCO+/kgqMuv8phnPupTXc/tHVP+cj+53t4O8NksHSonqOcivI11XF5ahYcquFeNwKW4e1iW3LwMW7Zts0xeoZhFEUOOZ5Wp2POwl2XLNFKw9H/a7Wx4HDpcp0l22nL0gTswyeG2zlyCvA5vkTQqagikkLWW7rjz9v8oAJSE/1B1H6cuGBlj+JZcFoU3N7NmadJXpU3GU/oZDTVKnxLsAjMLhRpxmFz6dFcvwiC+1Pu5~1; test-cleared-blacklisted-cookies=" -H "Sec-Fetch-Dest: empty" -H "Sec-Fetch-Mode: cors" -H "Sec-Fetch-Site: same-origin" -H "TE: trailers" --data-raw "dcrPath=/templatedata/config/product-screener-v3/data/de/austria/one-at&portfolios=228238-228239-228240-228242-228268-228270-228271-228272-228273-228274-228275-228280-228281-228282-228283-228289-228291-228294-228295-228296-228297-228298-228299-228304-228305-228306-228307-228308-228309-228310-228311-228313-228315-228321-228322-228323-228326-228327-228328-228329-228332-228333-228334-228335-228337-228338-228339-228340-228341-228342-228343-228346-228347-228348-228349-228350-228352-228354-228355-228356-228357-228360-228361-228362-228365-228366-228367-228368-228369-228375-228376-228377-228378-228379-228383-228384-228385-228390-228393-228395-228396-228397-228398-228399-228400-228401-228402-228403-228404-228408-228409-228410-228411-228414-228415-228417-228418-228419-228421-228422-228423-228424-228425-228426-228427-228428-228429-228430-228434-228435-228437-228438-228439-228464-228466-228468-228470-228471-228472-228473-228475-228476-228477-228478-228479-228481-228482-228483-228484-228485-228486-228487-228488-228497-228498-228499-228501-228502-228503-228505-228506-228507-228508-228512-228513-228518-228519-228520-228521-228522-228523-228524-228525-228526-228528-228529-228530-228531-228532-228534-228536-228537-228538-228539-228540-228541-228542-228543-228546-228547-228548-228549-228550-228551-228552-228556-228557-228558-228559-228560-228563-228564-228565-228566-228567-228571-228573-228574-228575-228576-228578-228579-228581-228583-228585-228586-228588-228589-228590-228591-228592-228593-228595-228596-228597-228598-228603-228604-228605-228606-228607-228608-228609-228610-228611-228612-228613-228614-228617-228619-228620-228621-228622-228623-228626-228627-228628-228629-228630-228631-228632-228633-228634-228635-228636-228637-228638-228639-228640-228641-228642-228643-228644-228648-228651-228652-228653-228654-228655-228656-228657-228658-228659-228660-228665-228669-228674-228675-228676-228677-228678-228679-228690-228691-228692-228693-229019-229020-229021-229022-229024-229027-229028-229029-229030-229031-229032-229033-229042-229043-229044-229045-229046-229050-229051-229052-229055-229056-229057-229059-229060-229061-229062-229063-229064-229065-229066-229067-229068-229069-229070-229071-229072-229076-229077-229078-229079-229080-229081-229082-229085-229086-229087-229090-229091-229092-229095-229096-229097-229098-229099-229100-229101-229105-229106-229107-229108-229109-229110-229111-229112-229113-229114-229115-229116-229118-229121-229123-229124-229125-229127-229128-229129-229130-229131-229132-229133-229134-229135-229136-229138-229139-229141-229143-229147-229150-229158-229159-229160-229165-229166-229169-229171-229175-229177-229178-229179-229181-229182-229185-229189-229190-229191-229194-229195-229196-229197-229199-229200-229201-229202-229203-229208-229209-229277-229279-229280-229281-229283-229284-229285-229286-229289-229290-229291-229293-229295-229296-229297-229298-229299-229300-229301-229302-229309-229313-229319-229320-229321-229322-229323-229324-229325-229326-229327-229328-229330-229331-229332-229333-229334-229335-229336-229337-229338-229340-229341-229342-229343-229344-229345-229347-229348-229349-229351-229352-229355-229356-229399-229404-229405-229406-229407-229412-229444-229445-229446-229449-229450-229474-229475-229476-229477-229478-229547-229550-229551-229552-229556-229557-229558-229560-229561-229562-229563-229564-229565-229566-229570-229571-229572-229573-229576-229577-229578-229582-229583-229584-229587-229588-229589-229590-229591-229596-229597-229598-229601-229604-229605-229606-229607-229610-229611-229612-229613-229617-229618-229621-229636-229637-229638-229639-229640-229641-229642-229644-229645-229646-229648-229649-229650-229651-229653-229654-229655-229656-229659-229661-229662-229665-229666-229673-229674-229677-229678-229682-229684-229685-229687-229690-229692-229693-229694-229696-229698-229700-229702-229703-229704-229705-229706-229707-229712-229724-229725-229726-229727-229728-229729-229730-229731-229732-229733-229734- ....
-> ist nur 30 kb groß ...
Tschau
Martin
Ich suche nun eine Lösung, daß ich für den CURL-Befehl die Parameter über eine Datei hinzufüge, allerdings klappt das nicht.
curl -d "c:\Curl.txt"
oder
curl -d "@c:\Curl.txt"
curl <"c:\Curl.txt"
gehen nicht.Erhalte nur
curl: no URL specified!
curl: try 'curl --help' for more informationDie Hilfeangabe hat leider nicht geholten.
Hat das mal jemand irgendwie geschafft ?
Wie die Fehlermeldung besagt, mußt du explizit die URL angeben und nur der POST Daten-Anteil in die externe Datei packen.
Da du auch noch Headerinformationen (mit -H
) sendest, packe nur die Daten nach --data-raw
in die externe Datei und verwende dafür dann -d "@data.txt"
als weitere Option.
Anscheinend sind die POST Daten bei dir schon URL-encoded, aber wenn es einfacher ist, die Datei ohne zu erzeugen, dann kannst du stattdessen auch die Option ----data-urlencode
(statt -d
bzw. --data
) benutzen, s.a. The Art Of Scripting HTTP Requests Using Curl (unter "POST").
Edit: Ich habe noch eine Seite gefunden, die das gut erklärt: curl POST examples
Content-Type
- und selbst dieser ist standardmäßig schon auf application/x-www-form-urlencoded
gesetzt) für eine Anfrage (Request) gar nicht benötigst.Aber eigentlich sollte es, wie schon geschrieben, mittels HTTPClient
direkt möglich sein, den Request zu senden. Was klappt denn damit bei dir nicht?
PS: Packe deine lange URL im letzten Beitrag bitte in Code-Tags, ich mußte ganz nach rechts scrollen, um überhaupt "zitieren" zu können.
ah, Danke für den Hinweis.
Habe den CURL mal etwas zerpflückt, dieser besteht aus div. Teilen.
"https://www.blackrock.com/at/privatanleger/product-screener/product-screener-v3.jsn?type=excel"
-X POST
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"
-H "Accept: application/json, text/plain, */*"
-H "Accept-Language: de,en-US;q=0.7,en;q=0.3"
-H "Accept-Encoding: gzip, deflate, br"
-H "Referer: [url]https://www.blackrock.com/at/privatanleger/produkte/product-list[/url]"
-H "Content-Type: application/x-www-form-urlencoded"
-H "Origin: [url]https://www.blackrock.com[/url]"
-H "Connection: keep-alive"
-H "Cookie: STICKY_SESSION_COOKIE_UK_RETAIL01_LIVE=""a39b33c9c603a57c""; STICKY_SESSION_COOKIE_UK_RETAIL01_LIVE=""6d3d24608e3f907f""; _abck=F39CDF40E4F5BE98F7F0C90CB6B3385C~0~YAAQj6cpF/RT651/AQAA8ZmzvQeVdc1wrl1/i94WNqHdTuCTFz+GdsH7+C8LLbArPjJMwlfo0DoIqd3VjmVBQlicQrjOGgM0aijZ9q4HbZLbHkdYC5kNOTkiEtlbUTsqmAEqEYI1ORVvLunNC5qYCqX9HFqZtdwywfyoeYQxp/bk1QSniUWa57dA/CGFdQ5V4qPSEVCXcSvOpp08axlyd7ZcBvXoINZ6x3nonN4bnMMEpCAJSlSwi/BZ04a8uXwb07ZwBJnaGu7XMqlSD3VW6rv5v7on6RE8Wbsbbf/6BcTTCy1a/G6xmAItjdicnw69QzyJ2c9AXMM2gP0ZO+lhQFmHmtMFlNGzim1aR9KRL3bxQbmtWShX9WD4gE2MGJWVXgD3hGd+javjvmFBy0Vr1ffAqlPqvxIgUqOZ~0~||-1||~-1; ts-one-at-locale=de_AT; utag_main=v_id:017efbde4f8c001fae6641d8040b0004e006600d00fb8`$_sn:110`$_se:13`$_ss:0`$_st:1657178489879`$vapi_domain:blackrock.com`$ses_id:1657176492977"%"3Bexp-session`$_pn:1"%"3Bexp-session; cleared-old-consent-cookies=; OptanonConsent=isGpcEnabled=0&datestamp=Thu+Jul+07+2022+08"%"3A48"%"3A13+GMT"%"2B0200+(Mitteleurop"%"C3"%"A4ische+Sommerzeit)&version=6.27.0&isIABGlobal=false&hosts=&landingPath=NotLandingPage&groups=C0001"%"3A1"%"2CC0003"%"3A0"%"2CC0002"%"3A0"%"2CC0004"%"3A0&geolocation="%"3B&AwaitingReconsent=false&consentId=4badc4b8-2fd8-4e10-aa31-7f67c8aafda5&interactionCount=0; OptanonAlertBoxClosed=2022-02-25T07:47:10.248Z; AMCV_631FF31455E575197F000101"%"40AdobeOrg=-1303530583"%"7CMCIDTS"%"7C19049"%"7CMCMID"%"7C69911534768528624172266666002894366157"%"7CMCAID"%"7CNONE"%"7CMCOPTOUT-1645782430s"%"7CNONE"%"7CvVersion"%"7C3.3.0; ts-de-retail-locale=de_DE; SSESSIONID_uk-retail01=YWQxOWYyMTgtNTc5Ny00OGY2LThmYjUtOGNjMTMxZmUwNDM1; b71e11317c8db928fe965cfeebd54975=9b12494171fc6d32038a96be85e3233c; NAUTILUS-XSRF-TOKEN=09f27898-1bed-447c-9bd2-5afb94395eb0; c68299fd7efaf68170a7b1f970bcc72f=37f6df3f3363694cb2e8ca59cdb9c35b; AllowAnalytics=false; AMCVS_631FF31455E575197F000101"%"40AdobeOrg=1; blkUserType-one-at=individual; test-cleared-blacklisted-cookies=; ak_bmsc=5EE6391DAFCBC3112E732BE89F0A50E7~000000000000000000000000000000~YAAQnCo1FzHgSNKBAQAALYZq1xAOciLLSIgBwvOj87xdU6b9qe7geT/b7MMcbI8Np53acWjY6bcy4hYZiG1f+mvxA5ZSw0k07DIiZ6Vdn845lbRg2aTZTH2/ysCpxP/Rvk6n2W7NsfZ14Xo7JHz+aMtVuGH9YVgl4NbBqK72quBRw+FKqww0e2oeWNdnQLq4NQhfwk4/TG8t4x6nV9oIzMTdqs80masK/ipUBT2/Gy4/3K0Qs9bqembuMnLT8eM/+OfRoh6rBAqdRwNdwUNP2kBHcN9pmZ0H2ufQslVld+r8bnB7JBf9b8ViCSUAQ11U0JW/bWqatcnHf+3DdNDA2mmtCnYRcCvTxvGZWMZ1tJXlKuZ0ZfVAyefcHa5YOJZfx4FOumopInDwDdXCgg==; bm_sv=0427DB93C7D4AE0667EBF5A6AAC488AA~YAAQnCo1F1MxSdKBAQAAHoFt1xBChDWv0JckMwHoVyX6iAqVrH9vwy0USc8viBmI+7eMibrLn6qEQG0TtudAuSpxq1DUVvuQJgiA9FZ0WRG+53dwwKX3IBCPOkiP4q+Z65mdhPwrM6+cd7+1GFrTW/nQii01xf5sBK+FjzdbjAjz3OA394rU1SEnOyx2u97lgS9+fjbyxZ8ewPIxT2MOcYcgIAlShx1qwI8TUxuCHRLvAnbMndIeT7uGOyRF8Gpd5N0n~1; bm_mi=E5C4CA9E7131BC709BFD76A6141D6363~YAAQnCo1F7DqSNKBAQAAHOZq1xDm2G92/YA9M8vz6V8wNrtQbIByqwkCdBfttev4GaC4o5uaC5BnfcHXVEEdYM08vP+iY3WN+pUF3y8yLVfG+wM3dfz6/8Zc1IpV2Frib5qlhtq+cf7P9R/UsxaeOsvtv5taWUnOQISHck+zR6MOB4oFfiD12sCdMmBtLKYbZZC8Drn6s4H5dky/voB4/EKgJpdrdP1PWJwgScP/NIr6OaRjtWhfR1lhPsi1+OJI4IShdiACkgieukvjB6aVts70QOIW5ftzRfJgXicjUUfHM+V+vWDZYNmQTcdLoIxvbodKU6mmS/H9cT5XRhxB5TZsMa7JZUwssyKuvzkRODLIwdgWDQCFz5lhX8PTZVCYCP816Jb5/uBgYZ4tiDdmH0KDMdKZSU9Wuv4zUjTBgQa5zj3OjybRzdkzKVP+XQ==~1"
-H "Sec-Fetch-Dest: empty"
-H "Sec-Fetch-Mode: cors"
-H "Sec-Fetch-Site: same-origin"
-H "TE: trailers" --data-raw "dcrPath=/templatedata/config/product-screener-v3/data/de/austria/one-at&portfolios=228238-228239-228240-228242-228268-228270-228271-228272-228273-228274-228275-228280-228281-228282-228283-228289-228291-228294-228295-228296-228297-228298-228299-228304-228305-228306-228307-228308-228309-228310-228311-228313-228315-228321-228322-228323-228326-228327-228328-228329-228332-228333-228334-228335-228337-228338-228339-228340-228341-228342-228343-228346-228347-228348-228349-228350-228352-228354-228355-228356-228357-228360-228361-228362-228365-228366-228367-228368-228369-228375-228376.....
Die div. Teile beginnen immer mit -H
Allerdings kenne ich die Bedeutung nicht.
Gem. Deinem Link habe ich mal geschaut. Erhalte aber nur das, wenn ich das mal direkt im CMD ausführen möchte.
curl -d "S:\FIMAN\config\CurlBlackrock_Post.txt" -X [url]https://www.blackrock.com/at/privatanleger/product-screener/product-screener-v3.jsn?type=excel[/url]
curl: no URL specified!
curl: try 'curl --help' for more information
Tschau
Martin
ah, habe ein POST vergessen, aber trotzdem:
C:\>curl -d "@S:\FIMAN\config\CurlBlackrock_Post.txt" -X POST "https://www.blackrock.com/at/privatanleger/product-screener/product-screener-v3.jsn?type=excel"
<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>
Vermutlich ist meine txt-Datei nicht korrekt. Was muß da rein, von diesen vielen -H -Teilen ?
Die Header-Teile mußt du extra behandeln. Wie schon geschrieben, nur den --data-raw
Text auslagern.
Welche curl-Version verwendest du? Seit 7.55 kann wohl auch der Header in einer eigenen Datei ausgelagert werden, s. curl: -H, --header <header/@file>.
Zur Bedeutung der einzelnen Teile beim Header s. Liste der HTTP-Headerfelder.