Yanıtlar:
Konum başlığı bayrağını kullanın:
curl -L <URL>
man curl
: "Kimlik doğrulama kullanıldığında, curl yalnızca ilk ana bilgisayara kimlik bilgilerini gönderir. <...> Ayrıca bkz. - bunun nasıl değiştirileceği konusunda güvenilir konum."
Benzer bir sorun yaşadım. Çözümümü buraya gönderiyorum çünkü yorumculardan birine yardımcı olabileceğine inanıyorum.
Benim için engel, sayfanın bir giriş yapması ve ardından bana javascript aracılığıyla yeni bir URL vermesiydi. İşte yapmam gereken şey:
curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <URL>
J_username ve j_password, web sitemin giriş formu için alanların adıdır. Sizin durumunuzda kullanıcı adı alanının 'adının' ve şifre alanının 'adının' ne olduğunu görmek için web sayfasının kaynağını açmanız gerekecektir. Bundan sonra yeni URL gömülü java komut dosyası ile bir html dosyası gidin. Bunu ayrıştırdıktan sonra yeni URL ile yeniden gönderin:
curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <NEWURL>
Söylendiği gibi, yönlendirmeleri takip etmek için bayrağı -L
veya şunları kullanabilirsiniz --location
:
curl -L http://www.example.com
Ancak, yeniden yönlendirme sayısını sınırlamak istiyorsanız , parametreyi ekleyin--max-redirs
--max-redirs <num>
İzin verilen maksimum yönlendirme takibi sayısını ayarlayın. Eğer
-L
,--location
kullanılan bu seçenek "absurdum içinde" yönlendirmeleri aşağıdakilerden curl önlemek için de kullanılabilir. Varsayılan olarak, sınır 50 yeniden yönlendirmeye ayarlıdır. Sınırsız yapmak için bu seçeneği -1 olarak ayarlayın. Bu seçenek birkaç kez kullanılırsa, son seçenek kullanılır.