Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Aktuelle Java JRE 32 und 64 Bit exe Download Script

Mitglied: onkeldave

onkeldave (Level 1) - Jetzt verbinden

18.11.2013 um 17:35 Uhr, 3913 Aufrufe, 16 Kommentare, 2 Danke

Guten Tag Experts,

probiere verzweifelt über Batch, Java Script, cURL und wget die aktuellste JRE.exe herunterzuladen!

Das Problem: es gibt eine BundleID zum Download der sich bei jeder Version wieder ändert, zusätzlich muss man mit wget z.b. auch noch "--no-cookies --no-check-certificate" als parameter mitgeben, damit er sie überhaupt runterläd.


Am liebsten hättte ich die beiden Downloads von der java Seite:
http://www.java.com/en/download/manual.jsp


Der windows x86 und x64 EXE Download.


Download Links wären:
http://javadl.sun.com/webapps/download/AutoDL?BundleId=81819
http://javadl.sun.com/webapps/download/AutoDL?BundleId=81821


da sieht man auchmal die nummern die sich immer ändern nach jeder Version und so macht es ja keinen sinn ein script in irgendeine Aufgabenplanung/Crontab zu schmeißen, sodass er nach einer prüfung der version, sich die neusten zwei herunterläd!

Könnte mir jemand ein paar Zeilen editieren, die einfach nur die AKTUELLSTEN beiden JRE.EXE DAteien runterläd ? Ich wäre zu absolutem DANK verpflichtet!!!!

mfg dave
Mitglied: colinardo
18.11.2013, aktualisiert um 21:55 Uhr
Hallo dave,
habe mir die Seite gerade mal angesehen und dir das folgende Bash-Script geschrieben. Es extrahiert die Links mit curl aus der Seite und lädt sie mit wget herunter und speichert die Files im selben Verzeichnis wie das Script. Der Trick um an den Link der 64-Bit Variante zu kommen besteht darin der Webseite von Oracle via USER_AGENT mitzuteilen das das Betriebssystem 64Bit fähig ist, ansonsten erscheint der Link für die 64-Bit Version nicht auf der Seite.
01.
#!/bin/bash
02.
_SITE=$(curl -A 'WOW64' -s "http://www.java.com/de/download/manual.jsp")
03.
_LINK32=$(echo "$_SITE" | grep -m 1 'Download der Java-Software für Windows Offline' | cut -d '"' -f4)
04.
_LINK64=$(echo "$_SITE" | grep -m 1 'Download der Java-Software für Windows (64-Bit)' | cut -d '"' -f4)
05.

06.
#Check for valid Download URL
07.
echo "$_LINK32" | grep -Eq '^http://.*BundleId=[0-9]+$'
08.
if [ $? -eq 0 ] ;then
09.
	#Download 32-Bit Version
10.
	wget --no-cookies --no-check-certificate -O 'java32bit.exe' "$_LINK32"	
11.
else
12.
	echo 'Download-Link 32-Bit Version defekt.'
13.
fi
14.
#Check for valid Download URL
15.
echo "$_LINK64" | grep -Eq '^http://.*BundleId=[0-9]+$'
16.
if [ $? -eq 0 ] ;then
17.
	#Download 64-Bit Version
18.
	wget --no-cookies --no-check-certificate -O 'java64bit.exe' "$_LINK64"	
19.
else
20.
	echo 'Download-Link 64-Bit-Version defekt.'
21.
fi
Zu beachten gilt es natürlich, dass wenn sich die Seite grundlegend ändert, auch die Links sehr wahrscheinlich nicht mehr extrahiert werden können, aber das ist ein Grundsätzliches Problem beim Extrahieren von Content aus HTML-Seiten.

Grüße Uwe
Bitte warten ..
Mitglied: onkeldave
19.11.2013, aktualisiert um 09:31 Uhr
hi uwe sauberer arbeit, ist aber ein linux script und wir haben hier nur windows rechner, insofern schwerst für mich einzupflegen ;) oder versteht die windows powershell sowas inzwischen ? mfg dave
Bitte warten ..
Mitglied: colinardo
19.11.2013, aktualisiert um 09:34 Uhr
Zitat von onkeldave:

hi uwe sauberer arbeit, ist aber ein linux script und wir haben hier nur windows rechner, insofern schwerst für mich
einzupflegen ;) oder versteht die windows powershell sowas inzwischen ? mfg dave
wenn du hier mit Begriffen wie curl, wget, crontab hantierst was soll ich da denken ?
lässt sich aber genau so simpel auf VBS oder Powershell portieren.
Bitte warten ..
Mitglied: onkeldave
19.11.2013, aktualisiert um 09:39 Uhr
warum sollte ich unter linux eine windows EXE datei herunterladen (cURL und wget gibt es auch für windows und crontab hab ich nur erwähnt weil aufgabenplanung unter windows kennt doch niemand)

naja wie auch immer, ist jemand in der lage, mir das auf powershell zu konvertieren ? die vorarbeit von uwe ist ja schonmal der hit! danke aufjedenfalll dafür - gute arbeit!

fetten gruß dave
Bitte warten ..
Mitglied: colinardo
19.11.2013 um 09:40 Uhr
Zitat von onkeldave:
naja wie auch immer, ist jemand in der lage, mir das auf powershell zu konvertieren ?
melde mich später dazu nochmal
Bitte warten ..
Mitglied: colinardo
19.11.2013, aktualisiert 20.11.2013
Zitat von onkeldave:
warum sollte ich unter linux eine windows EXE datei herunterladen
Wenns nur ein Server ist der das für Windows-Clients im Hintergrund erledigt ... kann das schon vorkommen.
naja wie auch immer, ist jemand in der lage, mir das auf powershell zu konvertieren ? die vorarbeit von uwe ist ja
guckst du hier: (Pfade für die Files in Zeile 2 und 3 noch anpassen)
(Script Stand: 19.11.2013 / muss angepasst werden wenn Qracle die Seite grundlegend umbaut)
01.
#Download-Pfade für die Dateien
02.
$targetPathJava32 = "C:\java32bit.exe"
03.
$targetPathJava64 = "C:\java64bit.exe"
04.

05.
#Funktion zum einfacheren Extrahieren via Regular Expressions mit Group-Matching
06.
Function Get-Matches($Pattern,$groupNumber = 0) {begin { $regex = New-Object Regex($pattern) };process { foreach ($match in ($regex.Matches($_))) { ([Object[]]$match.Groups)[$groupNumber].Value }}}
07.

08.
#Webseite mit WebClient passendem Encoding und 64-Bit User-Agent herunterladen
09.
$net = New-Object System.Net.WebClient
10.
$net.Encoding = [System.Text.Encoding]::UTF8
11.
$net.Headers.Add("User-Agent","WOW64")
12.
$net.Headers.Add("Accept-Language","de-de")
13.
$content = $net.DownloadString("http://www.java.com/de/download/manual.jsp")
14.

15.
#Downloadlinks aus dem Quelltext extrahieren
16.
$link32bit = $content | Get-Matches '<a title="Download der Java-Software für Windows Offline" href="([^>\"]+)">' 1 | select -First 1
17.
$link64bit = $content | Get-Matches '<a title="Download der Java-Software für Windows \(64-Bit\)" href="([^>\"]+)">' 1 | select -First 1
18.

19.
#Dateien herunteladen wenn die Links erfolgreich extrahiert wurden
20.
if ($link32bit -ne ""){$net.DownloadFile($link32bit,$targetPathJava32)}
21.
if ($link64bit -ne ""){$net.DownloadFile($link64bit,$targetPathJava64)}
Ergänzung (Zusätzliche Variante ab Powershell 3.0):
01.
$targetPathJava32 = "c:\java32bit.exe"
02.
$targetPathJava64 = "c:\java64bit.exe"
03.
Function Get-Matches($Pattern,$groupNumber = 0) {begin { $regex = New-Object Regex($pattern) };process { foreach ($match in ($regex.Matches($_))) { ([Object[]]$match.Groups)[$groupNumber].Value }}}
04.
$content = (Invoke-WebRequest "http://www.java.com/de/download/manual.jsp" -UserAgent "WOW64" -Headers @{"Accept-Language"="de-de"}).Content
05.
$link32bit = $content | Get-Matches '<a title="Download der Java-Software für Windows Offline" href="([^>\"]+)">' 1 | select -First 1
06.
$link64bit = $content | Get-Matches '<a title="Download der Java-Software für Windows \(64-Bit\)" href="([^>\"]+)">' 1 | select -First 1
07.
if ($link32bit -ne ""){invoke-webrequest $link32bit -OutFile $targetPathJava32}
08.
if ($link64bit -ne ""){invoke-webrequest $link64bit -OutFile $targetPathJava64}
Grüße Uwe
Bitte warten ..
Mitglied: onkeldave
19.11.2013 um 11:25 Uhr
cool du bist ja schnell uwe. danke dafür!

also ich habe den pfad zu wget editiert und gesehen das der ausgabe pfad mein c laufwerk ist - ist top!
es läuft auch fehlerfrei durch, nur downloaded er gar nichts leider.
internet explorer ist v. 11.09
java.com wird auf deutsch angezeigt
system 64bit

script in powershell ausgeführt - mach ich irgendwas falsch ?
Bitte warten ..
Mitglied: onkeldave
19.11.2013, aktualisiert um 11:36 Uhr
danke funktioniert! best man of the day uwe! thank you very much!!! closed
Bitte warten ..
Mitglied: colinardo
19.11.2013 um 11:36 Uhr
Hier läufts einwandfrei ...starte das Script mal in einer Powershell mit Admin-Rechten, normalerweise kann man ins Root-Verzeichnis von C:\ nur mit Admin-Rechten schreiben, oder wähle ein anderes Ausgabeverzeichnis in dem du Schreibrechte hast.
Bitte warten ..
Mitglied: onkeldave
19.11.2013 um 11:39 Uhr
eine mini frage hätte ich noch - kann man den output von wget ohne dateinamen angeben? also das die datei so heißt wie sie vom server kommt und nicht unbenannt wird ?
Bitte warten ..
Mitglied: colinardo
19.11.2013, aktualisiert um 12:32 Uhr
müsste mit dem Parameter -P C:\Pfad gehen, hatte damit aber in der Vergangenheit Probleme das an den Dateinamen dann ein haufen Schriott angehängt wurde. Dann müsste man den Schrott noch mit einem Rename in der Powershell abschneiden...
01.
$wgetPath = "C:\PathTo\\wget.exe"
02.
$downloadPath = "C:\DownloadPfad"
03.
Start-Process -FilePath $wgetPath -ArgumentList "-P $downloadPath",$link32bit -Wait
04.
Start-Process -FilePath $wgetPath -ArgumentList "-P $downloadPath",$link32bit -Wait
05.
dir "$downloadPath\jre-*@*" | %{Rename-Item -Path $_.FullName -NewName $_.Name.Split("@")[0]}
Bitte warten ..
Mitglied: onkeldave
20.11.2013, aktualisiert um 12:08 Uhr
hi männers, hoffe mir kann nochmal jemand schnell helfen.

also der code lässt sich problemlos auf einem windows 8.1 rechner mit:
ie 11.0
wget neuste version
powershell 4.0

ausführen

aber auf einem windows 2008 r2 mit:
ie 10
wget neuste version
powershell 2.0

meckert er:

>Start-Process : Das Argument für den Parameter "ArgumentList" kann nicht überpr
>üft werden. Das Argument ist NULL oder leer, oder ein Element der Argumentaufli
>stung enthält einen NULL-Wert. Geben Sie eine Auflistung an, die keine NULL-Wer
>te enthält, und führen Sie dann den Befehl erneut aus.
>Bei C:\scripts\test.ps1:13 Zeichen:48
>+ Start-Process -FilePath $wgetPath -ArgumentList <<<< "--output-document=C:\S
>cripts\java32bit.exe",$link32bit -Wait
+ CategoryInfo : InvalidData: ( [Start-Process], ParameterBindi
ngValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.Power
Shell.Commands.StartProcessCommand

>Start-Process : Das Argument für den Parameter "ArgumentList" kann nicht überpr
>üft werden. Das Argument ist NULL oder leer, oder ein Element der Argumentaufli
>stung enthält einen NULL-Wert. Geben Sie eine Auflistung an, die keine NULL-Wer
>te enthält, und führen Sie dann den Befehl erneut aus.
>Bei C:\scripts\test.ps1:14 Zeichen:48
>+ Start-Process -FilePath $wgetPath -ArgumentList <<<< "--output-document=C:\S
>cripts\java64bit.exe",$link64bit -Wait
+ CategoryInfo : InvalidData: ( [Start-Process], ParameterBindi
ngValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.Power
Shell.Commands.StartProcessCommand


hab schon recht viel ausprobiert, deshalb lande ich wieder bei euch, mit bitte um hilfestellung
probiert gänsefüßchen anders zu setzen, parameter -O auszuschreiben (--output-document="DATEI")
nix klappt leider
mach gerade mal ein update auf powershell 3.0


weis jemand rat?
Bitte warten ..
Mitglied: onkeldave
20.11.2013 um 12:15 Uhr
powershell 3.0 bringt auch keinen erfolg
Bitte warten ..
Mitglied: colinardo
20.11.2013, aktualisiert um 13:18 Uhr
Hallo dave,
sehr wahrscheinlich ist der jeweilige Link leer und deshalb kommt es zu der Fehlermeldung, d.h. der Fehler muss schon vorher beim extrahieren der Links via IE aufgetreten sein.
Den IE zu benutzen ist eigentlich nicht sehr zuverlässig, besonders wenn man den Code auf andere Systeme portiert, da muss dann immer erst getestet werden.
Wenn du schon Powershell 3.0 auf dem System hast kannst du die oben beschriebene Methode nutzen um die Dateien ohne Zusatztools nur mit der Pwershell runterzuladen:
01.
$targetPathJava32 = "e:\java32bit.exe"
02.
$targetPathJava64 = "e:\java64bit.exe"
03.
Function Get-Matches($Pattern,$groupNumber = 0) {begin { $regex = New-Object Regex($pattern) };process { foreach ($match in ($regex.Matches($_))) { ([Object[]]$match.Groups)[$groupNumber].Value }}}
04.
$content = (Invoke-WebRequest "http://www.java.com/de/download/manual.jsp" -UserAgent "WOW64" -Headers @{"Accept-Language"="de-de"}).Content
05.
$link32bit = $content | Get-Matches '<a title="Download der Java-Software für Windows Offline" href="([^>\"]+)">' 1 | select -First 1
06.
$link64bit = $content | Get-Matches '<a title="Download der Java-Software für Windows \(64-Bit\)" href="([^>\"]+)">' 1 | select -First 1
07.
if ($link32bit -ne ""){invoke-webrequest $link32bit -OutFile $targetPathJava32}
08.
if ($link64bit -ne ""){invoke-webrequest $link64bit -OutFile $targetPathJava64}
Grüße Uwe

--edit-- habe die IE Version komplett (auch oben) rausgenommen und durch eine bessere die auch unter Powershell 2.0 funktioniert ersetzt.
Bitte warten ..
Mitglied: onkeldave
20.11.2013 um 12:35 Uhr
wer ist mein held? ja richtig, uwe ist mein held! danke vielmals dafür! geht! schönen tag noch allerseits
Bitte warten ..
Mitglied: colinardo
20.11.2013, aktualisiert um 13:21 Uhr
nur zur Info: habe die Scripte noch ein klein wenig korrigiert, so dass auch wirklich nur die deutsche Seite abgerufen wird (Accept-Language Header)
Die IE Variante habe ich ganz gestrichen und durch eine Version die auch unter PS 2.0 funktioniert ersetzt (s. weiter oben)
Bitte warten ..
Ähnliche Inhalte
Netzwerke

Java JRE 8 Update 45 MSI 32 Bit funktioniert lt. Anleitung, 64 Bit jedoch nicht

Frage von ChrisDynamiteNetzwerke4 Kommentare

Guten Tag, mit folgender Anleitung haben wir es bis jetzt geschafft das tolle Java 8 Update 25 und Java ...

Microsoft Office

32 Bit CAD Programm und Excel 64 Bit geht nicht

Frage von GrueneSosseMitSpeckMicrosoft Office6 Kommentare

Hi, ich hab da ein Problem und such nach ner Lösung -> mit 32 Bit Programm XLSX Dateien erzeugen ...

Windows 10

Windows 10 von 32 auf 64 bit

gelöst Frage von jensgebkenWindows 1013 Kommentare

Hallo Gemeinschaft, habe einen W10 32bit Rechner und würde zwecks Adressierung von mehr Arbeitsspeicher W10 64 bit rauf spielen. ...

Windows Server

Printservermigration von Windows 32-Bit Treiber auf Windows 64-Bit Treiber

Frage von pencilWindows Server3 Kommentare

Hallo zusammen Ich plane die Migration einer Citrixfarm die bisher auf Windows Server 2003, neu allerdings auf Windows 2008 ...

Neue Wissensbeiträge
Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 2 StundenInternet

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 23 StundenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 2 TagenWindows 1013 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 3 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware38 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

Outlook & Mail
Office 365 mit Email-Profil installieren
gelöst Frage von 139221Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...