linux wifi热点代码,在Linux上使用Python以编程方式提供辅助WiFi热点凭据

我有一个WiFi服务的证书,它是“开放的”,在这个意义上,用户不需要提供密码就可以与之关联。实际访问internet需要一种辅助身份验证方法,为此,我必须通过浏览器输入凭据,如下面的屏幕抓图所示:

5qJUM.png

因为我在Linux上,所以我希望能够用Python以编程方式提供我的凭证。我见过的大多数例子(例如How to programmatically log into website in Python)都需要“表单名称”。在浏览器中查看“页面源”时无法看到此信息,也不确定如何自动正确提交凭据。我将非常感谢你的帮助!提前谢谢。在

更新:这里有一个我试过的例子-#!/usr/bin/python

import cookielib

import urllib2

import mechanize

# Browser

br = mechanize.Browser()

# Enable cookie support for urllib2

cookiejar = cookielib.LWPCookieJar()

br.set_cookiejar( cookiejar )

# Broser options

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; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1' ) ]

# authenticate

br.open( "http://www.google.com" )

br.select_form( name="Authentication Required" )

# these two come from the code you posted

# where you would normally put in your username and password

br[ "USERID" ] = my_user

br[ "PASSWDTXT" ] = my_pass

res = br.submit()

print "Success!\n"

问题是我刚收到这个错误:

^{pr2}$

更新2:我也尝试过:#!/usr/bin/python

import urllib2

username = my_user

password = my_pass

proxy = urllib2.ProxyHandler({'http': 'http://%s:%s@google.com'%(username,password)})

auth = urllib2.HTTPBasicAuthHandler()

opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)

urllib2.install_opener(opener)

conn = urllib2.urlopen('http://google.com')

return_str = conn.read()

但错误是一样的:Traceback (most recent call last):

File "./login.py", line 13, in

conn = urllib2.urlopen('http://python.org')

File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen

return _opener.open(url, data, timeout)

File "/usr/lib/python2.7/urllib2.py", line 410, in open

response = meth(req, response)

File "/usr/lib/python2.7/urllib2.py", line 523, in http_response

'http', request, response, code, msg, hdrs)

File "/usr/lib/python2.7/urllib2.py", line 448, in error

return self._call_chain(*args)

File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain

result = func(*args)

File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default

raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

urllib2.HTTPError: HTTP Error 401: Unauthorized

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值