Sử dụng dòng lệnh để kết nối với mạng không dây bằng thông tin đăng nhập http


12

Tôi đang cố gắng kết nối với mạng wifi nơi nó chiếm quyền điều khiển tất cả các yêu cầu và chuyển hướng bạn đến một trang nơi bạn phải đồng ý với các điều khoản sử dụng trước khi cho phép bạn kết nối với thế giới bên ngoài thực tế. Đây là một thực tế khá phổ biến và thường không gây ra nhiều vấn đề.

Tuy nhiên, tôi đã có một máy tính chạy máy chủ Ubuntu 9.10 không có hệ thống cửa sổ. Làm thế nào tôi có thể sử dụng dòng lệnh để đồng ý với các điều khoản sử dụng? Tôi không có quyền truy cập internet trên máy tính để tải xuống các gói thông qua apt-get hoặc bất cứ thứ gì tương tự. Chắc chắn, tôi có thể nghĩ ra bất kỳ số cách giải quyết nào, nhưng tôi nghi ngờ có một cách dễ dàng để sử dụng wget hoặc curl hoặc một cái gì đó.

Về cơ bản, tôi cần một giải pháp dòng lệnh để gửi yêu cầu HTTP POST về cơ bản nhấp vào nút. Để tham khảo trong tương lai, sẽ rất hữu ích khi biết cách gửi yêu cầu POST với tên người dùng và mật khẩu nếu tôi thấy mình trong tình huống đó ở một khách sạn hoặc sân bay khác.


1
xem câu trả lời này về việc sử dụng curl cho một kỹ thuật trình tạo dòng lệnh-nút-trang web tương tự . Tôi sẽ đăng nó ở đây nhưng nó chỉ là một công việc cắt dán; không có điểm trong đó. nếu bạn đưa ra các bước chính xác để thực hiện, hãy đăng làm câu trả lời của riêng bạn.
quack quixote

Câu trả lời:


7

Cài đặt Lynx trước và sau đó sử dụng Lynx từ dòng lệnh. Lynx là một trình duyệt dựa trên văn bản.

Ngoài ra, bạn có thể thử sử dụng wget hoặc curl để lấy www.google.com và sau đó phân tích tệp HTTP được trả về.


7
các liên kết sẽ thực hiện công việc tốt hơn lynx - đó là một trình duyệt hiện đại hơn một chút. (không thực sự. sử dụng các liên kết . kiểm tra trình quản lý gói cục bộ của bạn.)
quack quixote

Liên kết +1 hoạt động tuyệt vời. Thực sự dễ sử dụng và làm công việc tốt.
Saif Bechan

Tôi đã kết thúc bằng cách sử dụng câu trả lời này lần này (đã tải xuống lynx với một máy tính riêng và chuyển tệp qua usb), nhưng có lẽ đã đến lúc tôi thực sự học cách sử dụng curl.
Shane

7

Bạn sẽ phải xem một lần vào nguồn của biểu mẫu đăng nhập để tìm ra tên của các trường người dùng và mật khẩu. Khi xác thực chuyển hướng tất cả các trang, hãy sử dụng bất kỳ URL nào để lấy nguồn đó:

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

Ví dụ: bạn sẽ tìm thấy:

<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>

Một cách khác là sử dụng (trên một máy tính khác) một proxy như Fiddler2 để xem những gì được gửi "qua dây" bởi trình duyệt.

Sau đó, bạn có thể xây dựng curllệnh của mình để đăng thông tin biểu mẫu của bạn:

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

Nếu bạn không có curl, có thể viết một máy khách HTTP đơn giản với ngôn ngữ bạn có thể có trên nền tảng (Perl, Lua, Java ...).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.