本文目录一览:
- 1、Python模拟登录知乎,为什么403 forbidden了
- 2、Python爬取登录界面,SSL 证书错误,如图,这个这怎么解决,请给出具体解决方案,谢谢
- 3、python调用宇视SDK登录报错问题
- 4、Python登录SSH服务遇到报错,paramiko.ssh_exception.SSHException: Channel closed.
- 5、python3写的自动登录程序,登陆失败,求大神指出错误
Python模拟登录知乎,为什么403 forbidden了
1. 找到正确的登录链接,应该是:self.baseUrl + '/login/email'
2. 这个request.Request(self.baseUrl + '/#signin', postdata.encode('utf-8'))没用过不清楚,所以不知道有没有带上前两个请求的cookies。我是改成:
self.opener.open(self.baseUrl + '/login/email', postdata.encode('utf-8'))这样访问的。
通常登录403问题都是:
1. 登录api不对,
2. 前后访问没有带cookies,导致token无效、验证码无效。
附上改后的,只会用requests的我,请勿喷啊~~~:
import cookielib,urllib2
import re,urllib,json
class ZhiHuSpider(object):
def __init__(self):
self.baseUrl = ''
self.captchaUrl = ''
self.cookies = cookielib.CookieJar()
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookies))
# 获取网页xsrf值
def getXsrf(self):
html = None
html = self.opener.open(self.baseUrl).read().decode('utf-8')
xsrf_match = re.search(r'name="_xsrf" value="(.*?)"/', html)
if xsrf_match:
return xsrf_match.group(1).strip()
# 将验证码保存在本地
def getCaptchaCode(self):
data = self.opener.open(self.captchaUrl).read()
fName = self.captchaUrl.split('/')[3].split('?')[0]
f = open(fName, 'wb')
f.write(data)
f.close()
print(u'验证码已保存在本地!请查看!')
# 模拟登录知乎
def login(self):
form = { '_xsrf': self.getXsrf(),
'email': 'email@faf.com',
'password': 'password' }
self.getCaptchaCode()
code = input(u'请输入验证码:')
form['captcha'] = code
postdata = urllib.urlencode(form)#parse.urlencode(form)
op = self.opener.open(self.baseUrl + '/login/email', postdata.encode('utf-8'))
#req = request.Request(self.baseUrl + '/#signin', postdata.encode('utf-8'))
a = op.read().decode()
a=json.loads(a)
print a,type(a)
print a['msg']
if __name__ == '__main__':
spider = ZhiHuSpider()
spider.login()
Python爬取登录界面,SSL 证书错误,如图,这个这怎么解决,请给出具体解决方案,谢谢
SSL证书,通常原因:使用非信任证书或非安全机构签发的证书,证书没有CA根服务不被信任,解决办法登陆签发机构办法信任证书,重新安装或者替换之前的证书就可以了:网页链接
python调用宇视SDK登录报错问题
NETDEV_Init 初始化
NETDEV_Login_V30 ipc设备登录
NETDEV_QueryVideoChlDetailList 查询视频通道信息列表
NETDEV_CaptureNoPreview 设备抓图
使用restype 设置接收参数的类型
HIKSDK.NETDEV_Login_V30.restype = ctypes.c_void_p
假如不设置接收参数的类型,会抛出异常:内存地址不一致
指针类型作为返回值传递给python时,在未设置类型的时候,会发生默认截断的问题
sdk日志:
python日志:101200(用户不在线)
Python登录SSH服务遇到报错,paramiko.ssh_exception.SSHException: Channel closed.
ssh登录的时候链接端口失败
这由于server端没有开机或是网络不通(这个原因很多,最简单的是网线没有插。还有就是可能会是网卡down了等)如果是网卡down了ifup相应的网卡再试试
python3写的自动登录程序,登陆失败,求大神指出错误
这个东西是常有的。不过登陆失败就有一个原因,你发送的请求包不正确。不能光看代码。
你需要抓包。安装一个抓包软件,或者是fiddler或者是自己安装一个tiny proxy(这个python写的).
对比一下自己发的包与标准包的差距,通常如果细心些,一次就可以通过。