私は私のbashスクリプトに少し行き詰まっています。httpsベースのWebサイトにログインする必要があります...ユーザー名とパスワードでログインする必要があり、特定のリンクを見つける必要があります。リンクのテキストは常に同じですが、リンクが指す場所が変わります。その場所を取得し、wget でダウンロードする必要があります。
Anhbody にはヒントがあります。移植可能にする必要があるため、外部プログラムに依存したくない..
ありがとうございました
bash
この種のタスクには理想的ではありません。次のようなものを試すことができますが:
curl --user name:password https://www.example.com/
ただし、ページでリンクを見つける必要がある場合は、次の方法を試してください。
curl --user name:password https://www.example.com/ | grep WHAT_EVER_IDENTIFIES_LINK
次に、curl
再度経由して出力を取得します。
しかし、タスクには機械化のようなものをお勧めします。Python や Ruby などにも同様のライブラリがあります。
このコードは Web サイトにログインするために機能しますが、リンクを特定して wget する方法がわかりません...
#!/bin/bash
#REQUIRED PARAMS
username=""
password=""
#EXTRA OPTIONS
uagent="Mozilla/5.0" #user agent (fake a browser)
sleeptime=0 #add pause between requests
touch "cookie.txt" #create a temp. cookie file
#INITIAL PAGE
echo "[+] Fetching" && sleep $sleeptime
initpage=`curl -s -b "cookie.txt" -c "cookie.txt" -L --sslv3 -A "$uagent" "https://ny2.free2surfvpn.com/?src=connect"`
token=`echo "$initpage" | grep "authenticity_token" | sed -e 's/.*value="//' | sed -e 's/" \/>.*//'`
#LOGIN
echo "[+] Submitting the login form..." && sleep $sleeptime
loginpage=`curl -s -b "cookie.txt" -c "cookie.txt" -L --sslv3 -A "$uagent" -d "authenticity_token=$token&username=$username&password=$password" "https://mobile.twitter.com/session"`
#HOME PAGE
echo "[+] Getting page" && sleep $sleeptime
homepage=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" "https://ny2.free2surfvpn.com/?src=connect"`
rm "cookie.txt"