Linux komut satırından web sitesi için giriş bilgileri nasıl girilir?


25

İnternet bağlantım üniversite tarafından sağlanıyor. Bir kullanıcı adı / şifre kombinasyonuna karşı korumalıdır. Bu, bilgisayarımı başlattığımda, bir web tarayıcısı başlatmam ve isteğe bağlı bir web sitesi açmam gerektiği anlamına geliyor. Daha sonra (diğer şeylerin yanı sıra) iki form içeren bir sayfaya yönlendirilirim. Bunlara kullanıcı adı ve şifreyi girmem gerekiyor. Bunu firefox (şifreyi kaydedebilen) ve ayrıca daha hızlı ve komut satırından yükleyen linkler ile yapmayı başardım.

Bir bash betiği kullanarak giriş işlemini otomatikleştirmek için herhangi bir yolu var mı? Bu, önyükleme yaparken giriş yapmanıza izin verecek, X sunucusunu başlattığımda zaten orada olacak.


1
Sen belki formun gelen giriş komut aramak mümkün ACTIONolan öznitelik curldoğrudan.
terdon

Birçok Üniversite aynı zamanda "Kurumsal Kimlik Doğrulama" kullanan bir ağ da sunar (örneğin, kimlik bilgileri istemek için bir sayfaya erişmeye çalışana kadar beklemek yerine, ağ bağlantısının kendisi için bir kullanıcı adı / şifre kullanır). Bu tür ağ kimlik bilgilerini saklama yeteneği, işletim sisteminde yerleşiktir. Aynı zamanda çok daha güvenli, çünkü başkalarının bağlantınızı dinlemesinin zor olduğu anlamına geliyor. Üniversiteniz bunu destekliyorsa, geçiş yapmalısınız.
Moshe Katz

Ayrıca, oturum açtığınızda yönlendirilen URL’nizin (anonimleştirilmiş) bir örneğini verebilirseniz bize yardımcı olacaktır. (Burada anonimleştirilmişseniz, MAC Adresinizi ve / veya IP adreslerini URL’den varsa, fakat üniversitenin adı da dahil olmak üzere her şeyi bırakın.)
Moshe Katz

Yanıtlar:


16

Curl ile deneyebilirsiniz , web sayfasına giriş yapmak için bu şekilde curl kullanabilirsiniz:

curl --user name:password http://somesite.com -v 

Stackoverflow'un yanıtından bu şekilde Web sitesine Veri iletebilirsiniz

    curl -b cookies.txt -c cookies.txt --data "Username=xx&Password=xx&Login=Login" [urlthatyour form submits]

oturum açtıktan sonra başka bir kıvrılma isteği yapmak istiyorsanız, çerezlere ihtiyacınız var.

Çerezleri istemiyorsanız kullanabilirsiniz

curl --data "Username=xx&Password=xx&Login=Login" [url that your form submits]

Ayrıca Özel Komutlar için buraya başvurabilirsiniz.


1
Şu anda bunu deneyemiyorum, ancak bunun yalnızca siteyi açarken şifreyi isteyen bir iletişim kutusu olduğunda çalışacağını umuyorum. Benim durumumda sadece iki form var. Biri isim, biri şifre için. Bunu daha net hale getirmek için soruyu değiştireceğim.
Tim

@Tim, verilerin nasıl iletileceğini ekledi, normalde sayfanın hangi sayfayı istediğini (veya sayfanın eylem değerini) bulmanız gerekir.
BlueBerry - Vignesh4303

Bu sanki işe yarayabilirdi, ama ne yazık ki işe yaramadı. Curl çıkışına bakıldığında, Usernamealanın doğru değerle doğru bir şekilde doldurulduğunu, ancak Passwordalanın olmadığını (bu bir güvenlik önlemi olarak doğru olabilir) önerir . Gönder düğmesinin gerçekten tetiklenip tetiklenmediğinden emin değilim. Hangi değerin geçtiğinin önemi var mı Login?
Tim

5

Sonunda otomatik olarak kullanarak giriş yapmanın bir yolunu buldum elinks. Çalışır ve yapılandırılması bile kolaydır!

İki seçenek ayarlanması gerekir. Bu, içine aşağıdaki satırları ekleyerek ~/.elinks/elinks.conf(dosya orada değilse, bir tane oluşturun) veya içindeki seçenekler iletişim kutusundaki ilgili konumlardaki değerleri değiştirerek yapılabilir elinks:

    # Save username and password for later use
set document.browse.forms.show_formhist = 1
    # Do not ask for confirmation before a form is submitted
set document.browse.forms.confirm_submit = 0

Bir komut dosyası yazılabilir otolog için adımlar sonra:

  • Bu iki seçeneği ayarlayın
  • Giriş sayfasını açın, elinksformları doldurun ve gönderin.
  • Daha sonra kullanmak üzere isim ve şifreyi hatırlamayı seçin.
  • Bağlantıları kapat
  • Koşmak elinks -auto-submit http://somesite.com

İkinci komut, daha fazla kullanıcı etkileşimi olmadan otomatik giriş yapmalıdır.

Aslında kullanıyorum timeout 1m elinks -auto-submit http://somesite.com &, böylece sürekli olarak arka planda çalışan boşta çalışan bir elinks işlemim yok.


3

Bunu yazmanın basit bir yolu Selenyum'dur .

Ağa giriş yaptığınız bir testi kaydetmek ve ardından testi izlemek için Firefox "Test Kaydedici" eklentisini kullanabilirsiniz.


0

Evet, üniversitenizin internetine giriş yapmanın çok basit bir yolu var . Terminalde kullanılmak üzere tasarlanmış, metin tabanlı bir tarayıcı olan ' Lynx ' web tarayıcısını kullanabilirsiniz. Yani, işte yol:

$ echo "username=myname&password=mypassword" | lynx "url of the form" -post_data

' username ', formdaki kullanıcı adına karşılık gelen alanın adıdır ve ' password ', şifre alanına karşılık gelen alanın adıdır ve ' myname ' ve ' mypassword ' doldurulacak değerlerdir. Form Herhangi bir tarayıcıdan 'İnceleme Elemanı'nı kullanarak alan adını bulabilirsiniz. BlueBerry - Vignesh4303 tarafından verilen cevapta belirtildiği gibi curl ile denedim ama işe yaramadı.


0

Tarayıcınız için bir eklenti alabilirsiniz; bu, kaydedilmiş şifreleri olan web sitelerine otomatik olarak giriş yapar. AutoAuth'ı firefox ile kullandım. Sonra bir kez giriş yapın ve kimlik bilgilerinizi kaydedin, ardından sadece

#!/bin/bash
firefox https://website address goes here

Yürütüldüğünde, gidecek ve otomatik giriş. Birden çok site ile denedim ve iyi çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.