Thanks, this is better. I should have quoted it before, I just saw your message on that earlier.
> On 5 Apr 2016, at 16:49, sebb <[email protected]> wrote: > > On 5 April 2016 at 16:33, Oliver Lloyd <[email protected] > <mailto:[email protected]>> wrote: >> In the end I wrote a function. It solved the closer.cgi issue I was having >> by using the as_json=1 query param that Vladimir suggested. >> >> #!/bin/bash >> >> function install_jmeter() { >> # ------------------------------------------------ >> # Decide where to download jmeter from >> # >> # Order of preference: >> # 1. Mirror, if the desired version is current >> # 2. S3, if not current and we have a copy >> # 3. Archive, as a backup >> # ------------------------------------------------ >> >> # Mirrors only host the current version, get the preferred mirror for >> this location >> preferred_mirror=$(curl -s >> 'http://www.apache.org/dyn/closer.cgi?as_json=1' | grep "preferred" | cut -d >> ':' -f3 | cut -d'"' -f1 | awk -F// '{print $NF}' | sed 's/.$//') > > There's no need to extract the preferred mirror, see below. > >> # Scrape the main binaries page to see what the current version is >> current=$(curl -s 'http://www.apache.org/dist/jmeter/binaries/' >> <http://www.apache.org/dist/jmeter/binaries/'>) > > Once you have the current version file stem, you can to use the URL I > gave you earlier to download it directly using a preferred mirror: > > wget -q -O $REMOTE_HOME/$JMETER_VERSION.tgz > "http://www.apache.org/dyn/closer.cgi?filename=jmeter/binaries/$JMETER_VERSION.tgz&action=download > > <http://www.apache.org/dyn/closer.cgi?filename=jmeter/binaries/$JMETER_VERSION.tgz&action=download>" > > I just tried it, and it works. > >> if [ $(echo $current | grep -c "$JMETER_VERSION") -gt "0" ] ; then >> # This is the current version of jmeter so use the preferred mirror >> to download >> echo "downloading from preferred mirror: >> http://$preferred_mirror/jmeter/binaries/$JMETER_VERSION.tgz" >> wget -q -O $REMOTE_HOME/$JMETER_VERSION.tgz >> http://$preferred_mirror/jmeter/binaries/$JMETER_VERSION.tgz >> elif [ $(curl -sI https://s3.amazonaws.com/jmeter-ec2/$JMETER_VERSION.tgz >> | grep -c "403 Forbidden") -eq "0" ] ; then >> # It wasn't the current version but we have a copy on S3 so use that >> echo "Downloading jmeter from S3" >> wget -q -O $REMOTE_HOME/$JMETER_VERSION.tgz >> https://s3.amazonaws.com/jmeter-ec2/$JMETER_VERSION.tgz >> else >> # Fall back to the archive server >> echo "Downloading jmeter from Apache Archive" >> wget -q -O $REMOTE_HOME/$JMETER_VERSION.tgz >> http://archive.apache.org/dist/jmeter/binaries/$JMETER_VERSION.tgz >> fi >> >> # Untar downloaded file >> tar -xf $REMOTE_HOME/$JMETER_VERSION.tgz >> } >> JMETER_VERSION="apache-jmeter-2.13" >> REMOTE_HOME="/tmp" >> install_jmeter >> >> >> >> >>> On 5 Apr 2016, at 13:21, Felix Schumacher >>> <[email protected]> wrote: >>> >>> >>> >>> Am 4. April 2016 14:29:13 MESZ, schrieb Oliver Lloyd >>> <[email protected]>: >>>> That url is in theory exactly what I need and it works well in a >>>> browser but I'm not able to make it work from the CLI using something >>>> like wget or curl. Does anyone know how to make that cgi script serve >>>> me the file and not just the html for the download page? >>> >>> Have you tried "curl -L 'http://..."? >>> >>> Regards, >>> Felix >>> >>>> >>>> >>>>> On 3 Apr 2016, at 22:48, sebb <[email protected]> wrote: >>>>> >>>>> On 3 April 2016 at 20:46, Oliver Lloyd <[email protected]> >>>> wrote: >>>>>> Bintray sounds ideal. Speeds between dl.bintray.com and AWS are very >>>> fast. >>>>>> >>>>>> My issue is I can't really use a mirror because they change but >>>> linking to the host servers is bad because they're not designed to >>>> serve these files. A distribution as a service provider like bintray >>>> would definitely solve this problem. >>>>> >>>>> Why not? >>>>> >>>>> It's possible to use the automatic mirror chooser with a parameter >>>>> that automatically downloads: >>>>> >>>>> >>>> http://www.apache.org/dyn/closer.cgi?filename=jmeter/binaries/apache-jmeter-2.13.zip&action=download >>>>> >>>>>> In the meantime I'm experimenting with using 'www.apache.org/dist/ >>>> <http://www.apache.org/dist/>...' vs. 'archive.apache.org/dist/ >>>> <http://archive.apache.org/dist/>...' and this seems better. >>>>> >>>>> Neither of those should be used for normal downloads. >>>>> They are for last resort backup purposes / archived releases only. >>>>> >>>>>> >>>>>>> On 3 Apr 2016, at 20:31, Vladimir Sitnikov >>>> <[email protected]> wrote: >>>>>>> >>>>>>> What if we deployed binary artifacts to maven, then they would get >>>>>>> mirrored to bintray? >>>>>>> >>>>>>> Groovy is using bintray.com for distribution of their binaries: >>>>>>> http://groovy-lang.org/download.html links to >>>>>>> https://dl.bintray.com/groovy/maven/apache-groovy-sdk-2.4.6.zip >>>>>>> >>>>>>> Oliver, >>>>>>> Can I kindly ask you to download something like >>>>>>> https://dl.bintray.com/groovy/maven/apache-groovy-sdk-2.4.6.zip >>>>>>> to check if that will be good enough? >>>>>>> >>>>>>> Vladimir
