fazendo o download de um arquivo por trás de um link

1

Eu quero escrever um script para baixar o WEbStorm IDE da Jetbrains e depois fazer outras coisas. Mas eu não consigo baixar a bola de alcatrão.

Estou seguindo isso, mas isso não resolve meu problema. download de arquivos usando o wget

A página da Web da qual desejo fazer o download do arquivo é o link

Parece bastante simples, mas eu só pego uma página html simples o tempo todo quando eu faço um wget. Fazê-lo pela barra de endereços do navegador ou por addons como o DownThemAll é completamente perfeito.

Segue meu comando

wget 'https://www.jetbrains.com/webstorm/download/download-thanks.html?platform=linux' -O WebStorm.tar.gz

Eu posso baixar o arquivo daqui:

wget https://download.jetbrains.com/webstorm/WebStorm-2017.2.4.tar.gz

mas só consegui encontrar este URL depois de um pouco de pesquisa. Existe uma maneira de simplesmente obter o URL do arquivo de download analisando o botão Download?

Também é possível fazer via curl?

    
por infoclogged 12.09.2017 / 14:14

2 respostas

1

Este link deve funcionar para a versão mais recente do Linux do WebStorm: link

Você pode obter esse endereço ligando para a página que deseja colocar em primeiro lugar e pesquisando o link direto:

      $ curl 'https://www.jetbrains.com/webstorm/download/download-thanks.html?platform=linux' | grep "direct link"
      <p class="sub-title no-margin-bottom">Your download should start shortly. If it doesn't, please use the <a id="download-link" href="//data.services.jetbrains.com/products/download?code=WS" data-release-download-link="">direct link</a>.</p>

Basta adicionar & platfor = sua_plataforma e obter a versão mais recente

    
por 12.09.2017 / 15:00
-1

Eu escrevi um pequeno script que irá instalar qualquer IDE JetBrains compatível com Linux, incluindo o WebStorm. Você pode encontrar mais detalhes aqui .

#!/bin/sh

echo "Installing IntelliJ IDEA..."

# We need root to install
[ $(id -u) != "0" ] && exec sudo "$0" "$@"

# Attempt to install a JDK
# apt-get install openjdk-8-jdk
# add-apt-repository ppa:webupd8team/java && apt-get update && apt-get install oracle-java8-installer

# Prompt for edition
while true; do
    read -p "Enter 'U' for Ultimate or 'C' for Community: " ed 
    case $ed in
        [Uu]* ) ed=U; break;;
        [Cc]* ) ed=C; break;;
    esac
done

# Fetch the most recent version
VERSION=$(wget "https://www.jetbrains.com/intellij-repository/releases" -qO- | grep -P -o -m 1 "(?<=https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/BUILD/)[^/]+(?=/)")

# Prepend base URL for download
URL="https://download.jetbrains.com/idea/ideaI$ed-$VERSION.tar.gz"

echo $URL

# Truncate filename
FILE=$(basename ${URL})

# Set download directory
DEST=~/Downloads/$FILE

echo "Downloading idea-I$ed-$VERSION to $DEST..."

# Download binary
wget -cO ${DEST} ${URL} --read-timeout=5 --tries=0

echo "Download complete!"

# Set directory name
DIR="/opt/idea-I$ed-$VERSION"

echo "Installing to $DIR"

# Untar file
if mkdir ${DIR}; then
    tar -xzf ${DEST} -C ${DIR} --strip-components=1
fi

# Grab executable folder
BIN="$DIR/bin"

# Add permissions to install directory
chmod -R +rwx ${DIR}

# Set desktop shortcut path
DESK=/usr/share/applications/IDEA.desktop

# Add desktop shortcut
echo "[Desktop Entry]\nEncoding=UTF-8\nName=IntelliJ IDEA\nComment=IntelliJ IDEA\nExec=${BIN}/idea.sh\nIcon=${BIN}/idea.png\nTerminal=false\nStartupNotify=true\nType=Application" -e > ${DESK}

# Create symlink entry
ln -sf ${BIN}/idea.sh /usr/local/bin/idea

echo "Done."
    
por 21.11.2017 / 05:01

Tags