এই জাতীয় সমস্যা সমাধানের মূল বিষয়টি কীভাবে প্রশ্ন জিজ্ঞাসা করতে হয় তা জানা। আমি গুগলে "কীভাবে প্যানের রুটি ওয়াইফাই অ্যাক্সেস করবেন" সন্ধান করে অনুসন্ধান করেছি এবং এই রত্নটি তৈরি করেছি।
এই নিবন্ধটিতে বেশ কয়েকটি স্ক্রিপ্ট রয়েছে যা অটো লগ ইন করার সুবিধার্থে ব্যবহার করা যেতে পারে I've আমি পাইনের রুটির উদাহরণটি অন্তর্ভুক্ত করে বেছে নিয়েছি যা পাইথনের মেকানাইজ লাইব্রেরিটি উপস্থাপন করে।
সমাধানটি কোনও নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের উপরে বা নিচে যাওয়ার সময়ে স্ক্রিপ্টগুলি চালানোর জন্য নেটওয়ার্কম্যানেজারের dispatcher.d
ডিরেক্টরিটি ব্যবহার করে। নিবন্ধটিতে একটি স্ক্রিপ্টের বিবরণ দেওয়া হয়েছে যা আপনি এই ডিরেক্টরিতে /etc/NetworkManager/dispatch.d
রেখেছিলেন, ডাকা হয় 07-autologin_openwifi
। এই স্ক্রিপ্ট এখানে:
#!/bin/bash
#------------------------------
# By Fahad Alduraibi
# Last update: June 12, 2012
# Version: 1.1
#------------------------------
export LC_ALL=C
LogFile="/var/log/07-WIFI_ACCESS.log"
# The parameters that get passed to the script are:
# $1 = The interface name ( eth0, wlan0 ...etc)
# $2 = Interface status ( "up" or "down" )
# Check if wireless status is up
# I have two wifi cards in my laptop, named "wlan0 and wlan1"
# so I use regular expression "wlan[01]" to match both of them.
if [[ "$1" =~ wlan[01] && $2 == "up" ]]; then
# Get the network name from "iwconfig" or (can also locate the network based on IP or MAC address if needed)
ESSID=$(/sbin/iwconfig $1 | grep ESSID | cut -d'"' -f2)
# Record the date and time for debugging purposes only
echo "[`date`] ESSID=($ESSID)" >> $LogFile
# If the wireless name matches then run its python script
if [[ "$ESSID" == "BCPL-PUBLIC-WIFI" ]]; then
/usr/bin/python /myscripts/baltimore-county_library_wifi.py 1>> $LogFile 2>&1
elif [[ "$ESSID" == "PANERA" ]]; then
/usr/bin/python /myscripts/panera.py 1>> $LogFile 2>&1
elif [[ "$ESSID" == "Nordstrom_Wi-Fi" ]]; then
/usr/bin/python /myscripts/nordstrom.py 1>> $LogFile 2>&1
#elif .... (you can add more open wifi here)
fi
fi
#if [[ "$1" =~ wlan[01] && $2 == "down" ]]; then
##If you want to do somehting when the network is down
#fi
এবং এখানে Panera রুটি স্ক্রিপ্ট, এর panera.py
:
#------------------------------
# By Fahad Alduraibi
# Last update: June 12, 2012
# Version: 1.1
#------------------------------
import mechanize
import sys
br = mechanize.Browser()
br.set_handle_equiv(True)
#br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0')]
testURL = 'http://fadvisor.net/blog/'
response = br.open(testURL)
if response.geturl() == testURL:
print "FAD: You are already logged in to Panera."
sys.exit()
try:
forms = mechanize.ParseResponse(response, backwards_compat=False)
except:
print "FAD: Error in parsing forms, Am I already logged in to Panera?"
sys.exit()
response.close
form = forms[0]
#print form
#print "----------------------------------- Login"
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()
form = forms[0]
#print form
#print "----------------------------------- Validate"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()
form = forms[0]
#print form
#print "----------------------------------- ConfirmLogin New"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()
form = forms[0]
#print form
#print "----------------------------------- ConfirmLogin Validate"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()
form = forms[0]
#print form
#print "----------------------------------- CompleteLogin New"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()
form = forms[0]
#print form
#print "----------------------------------- HttpLoginRequest"
#print
request = form.click()
response = br.open(request)
#print response.read()
response.close()
print "--- Panera Done ---"
আপনি যদি স্বয়ংক্রিয়ভাবে লগ ইন করার জন্য অন্যান্য পদ্ধতিতে আগ্রহী হন তবে পুরো নিবন্ধটি পড়তে আমি আপনাকে উত্সাহিত করি The
wget
প্রোগ্রামটি ইনস্টল করা আছে?