exe - Wget sourceforge latest 7zip batch -


i want latest version of 64bit , 32bit 7zip using wget. however, if use wget doesn't download exe files folder, instead downloads file called "7z1507-extra.7z". how can .exe files?

the command invoked:

wget "http://sourceforge.net/projects/sevenzip/files/latest/download" - log.txt --trust-server-name 

log file:

--2015-09-25 21:48:51--   http://sourceforge.net/projects/sevenzip/files/latest/download resolving sourceforge.net (sourceforge.net)... 216.34.181.60 connecting sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected. http request sent, awaiting response... 302 found location: http://downloads.sourceforge.net/project/sevenzip/7-zip/15.07/7z1507-extra.7z?r=&ts=1443210538&use_mirror=skylink [following] --2015-09-25 21:48:51--  http://downloads.sourceforge.net/project/sevenzip/7-zip/15.07/7z1507-extra.7z?r=&ts=1443210538&use_mirror=skylink resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59 connecting downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected. http request sent, awaiting response... 302 found location: http://skylink.dl.sourceforge.net/project/sevenzip/7-zip/15.07/7z1507-extra.7z [following] --2015-09-25 21:48:52--  http://skylink.dl.sourceforge.net/project/sevenzip/7-zip/15.07/7z1507-extra.7z resolving skylink.dl.sourceforge.net (skylink.dl.sourceforge.net)... 109.230.212.53 connecting skylink.dl.sourceforge.net (skylink.dl.sourceforge.net)|109.230.212.53|:80... connected. http request sent, awaiting response... 200 ok length: 849832 (830k) [application/x-7z-compressed] saving to: '7z1507-extra.7z'       0k .......... .......... .......... .......... ..........  6%  848k 1s     50k .......... .......... .......... .......... .......... 12% 1.31m 1s    100k .......... .......... .......... .......... .......... 18% 2.10m 1s    150k .......... .......... .......... .......... .......... 24% 1.53m 0s    200k .......... .......... .......... .......... .......... 30% 4.76m 0s    250k .......... .......... .......... .......... .......... 36% 2.10m 0s    300k .......... .......... .......... .......... .......... 42% 5.13m 0s    350k .......... .......... .......... .......... .......... 48% 4.73m 0s    400k .......... .......... .......... .......... .......... 54% 4.02m 0s    450k .......... .......... .......... .......... .......... 60% 3.77m 0s    500k .......... .......... .......... .......... .......... 66% 3.73m 0s    550k .......... .......... .......... .......... .......... 72% 3.69m 0s    600k .......... .......... .......... .......... .......... 78% 3.76m 0s    650k .......... .......... .......... .......... .......... 84% 3.27m 0s    700k .......... .......... .......... .......... .......... 90% 4.05m 0s    750k .......... .......... .......... .......... .......... 96% 3.85m 0s    800k .......... .......... .........                       100% 3.88m=0.3s  2015-09-25 21:48:52 (2.56 mb/s) - '7z1507-extra.7z' saved [849832/849832] 

to see files want get: http://sourceforge.net/projects/sevenzip/files/7-zip/15.07/

info: specify latest instead of example 15.07 because want latest version.

need more info, ask it!

sourceforge returns wrong http redirect url when accessed not browser, it's fault, may file bug report on support forum or something.

however it's still possible download page source, grab correct url , download it:

@echo off echo retrieving correct download url... /f "delims=;? tokens=2" %%a in (     'wget http://sourceforge.net/projects/sevenzip/files/latest/download ^         -q -o - --user-agent="mozilla/5.0 (windows nt 6.0)" ^     ^| find "meta http-equiv=""refresh"""' ) (     /f "delims== tokens=1*" %%b in ("%%a") (         wget "%%c"     ) ) pause 

explanation:

  1. --user-agent="mozilla/5.0 (windows nt 6.0)" minimal user-agent string recognized sourceforge site makes serve html page see in browser.
  2. -q silences progress reporting, -o - prints downloaded page standard output pipe
  3. find reads pipe , outputs line correct redirect url:
    <meta http-equiv="refresh" content="5; url=http://downloads.sourceforge.net/project/sevenzip/7-zip/15.07/7z1507.exe?r=&amp;ts=1443257723&amp;use_mirror=netcologne"> 
  1. for /f "delims=;? tokens=2" parses line above, splitting @ ; , ? , extracts second token: url=http://downloads.sourceforge.net/project/sevenzip/7-zip/15.07/7z1507.exe
  2. for /f "delims== tokens=1*", likewise, splits @ = , grabs after *
  3. and correct url used download file

Comments