本文目錄一覽:
- 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寫的).
對比一下自己發的包與標準包的差距,通常如果細心些,一次就可以通過。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307394.html