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

Reply via email to