명령 줄을 사용하여 http 로그인으로 무선 네트워크에 연결


12

Wi-Fi 네트워크에 연결하여 모든 요청을 가로 채고 실제 외부 세계에 연결하기 전에 사용 약관에 동의 해야하는 페이지로 리디렉션하려고합니다. 이것은 매우 일반적인 관행이며 일반적으로 많은 문제를 일으키지 않습니다.

그러나 윈도우 시스템이없는 Ubuntu 9.10 서버를 실행하는 컴퓨터가 있습니다. 사용 약관에 동의하기 위해 명령 줄을 어떻게 사용할 수 있습니까? apt-get 또는 이와 유사한 것을 통해 패키지를 다운로드하기 위해 컴퓨터에서 인터넷에 액세스 할 수 없습니다. 물론, 나는 많은 해결 방법을 생각할 수 있지만 wget이나 curl 등을 사용하는 쉬운 방법이 있다고 생각합니다.

기본적으로 버튼을 클릭하여 HTTP POST 요청을 보내려면 명령 줄 솔루션이 필요합니다. 나중에 참조 할 수 있도록 다른 호텔이나 공항에서 그런 상황에 처한 경우 사용자 이름과 비밀번호로 POST 요청을 보내는 방법을 아는 것이 도움이 될 것입니다.


1
비슷한 명령 줄 웹 페이지 버튼 푸셔 기술에 curl 을 사용하는 방법에 대한 이 답변을 참조하십시오 . 나는 여기에 게시하지만 그것은 단지 잘라 붙여 넣기 작업 일 것입니다; 아무 의미가 없습니다. 취해야 할 정확한 조치를 취한 경우 자신의 답변으로 게시하십시오.
quack quixote

답변:


7

Lynx를 미리 설치 한 다음 명령 줄에서 Lynx를 사용하십시오. Lynx는 텍스트 기반 브라우저입니다.

또는 wget 또는 curl을 사용하여 www.google.com을 가져온 다음 반환 된 HTTP 파일을 분석해 볼 수 있습니다.


7
링크lynx 보다 더 나은 작업을 수행 합니다. 약간 더 현대적인 브라우저입니다. (실제로. 링크를 사용하지 마십시오 . 지역 패키지 관리자를 확인하십시오.)
quack quixote

+1 링크는 잘 작동합니다. 정말 사용하기 쉽고 잘 작동합니다.
Saif Bechan

이번에는이 답변을 사용하여 끝났습니다 (별도의 컴퓨터로 lynx를 다운로드하고 USB를 통해 파일을 전송했습니다). 그러나 실제로 curl을 사용하는 방법을 배울 때입니다.
Shane

7

사용자 이름과 비밀번호 필드를 찾으려면 로그인 양식의 소스를 한 번 살펴 봐야 합니다. 인증이 모든 페이지를 리디렉션 할 때 URL을 사용하여 해당 소스를 가져 오십시오.

curl http://www.google.com > login.html

예를 들면 다음과 같습니다.

<form method="POST" action="http://my-public-provider.com/agree.php">
    <input type="checkbox" name="agree" value="yes">I agree
    <input type="submit" name="push" value="Send">
</form>

또 다른 방법은 Fiddler2 와 같은 프록시를 다른 컴퓨터에서 사용 하여 브라우저가 "무선으로"보낸 것을 확인하는 것입니다.

그런 다음 curl양식 정보를 게시하는 명령을 작성할 수 있습니다 .

curl -d "agree=yes&push=Send" http://my-public-provider.com/agree.php

이 없으면 curl플랫폼에서 사용할 수있는 언어 (Perl, Lua, Java ...)로 간단한 HTTP 클라이언트를 작성할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.