常見的狀態碼php
code |
說明 |
200 | 請求被成功處理 |
301/302 | 永久性重定向/臨時重定向 |
403 | 沒有權限訪問 |
404 | 表示沒有對應的資源 |
500 | 服務器錯誤 |
503 | 服務器停機或正在維護 |
簡單的模擬登錄python
##簡單的模擬登錄 #好比提取到的請求信息: # Headers: # Request URL:https://passport.mafengwo.cn/login/ # Request Method:POST # origin:https://passport.mafengwo.cn # referer:https://passport.mafengwo.cn/ # User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 # # Form Data: # passport:123456 # password:1235 # import requests def zhihu_lo(account,password): ## postUrl = 'https://zhihu.com/login' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', 'referer':'https: // passport.mafengwo.cn /'##重定向的 } postData = { 'passport':account, 'password':password } response = requests.post(postUrl,data=postData,headers=headers)
#好比提取到的請求信息: # Headers: # Request URL:https://passport.mafengwo.cn/login/ # Request Method:POST # origin:https://passport.mafengwo.cn # referer:https://passport.mafengwo.cn/ # User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 # # Form Data: # passport:123456 # password:1235 # import requests def _lo(account,password): ## try: import cookielib ##這裏是使用的python2的代碼 except: import http.cookiejar as cookielib # 這裏是使用python3的代碼 ##以上的這個嘗試只是兼容python2和python3而已,也能夠分開只寫python3的 #session表明某一次鏈接 mysession = requests.session() # 由於原始的session.cookies 沒有save()方法,因此須要用到cookielib中的方法LWPCookieJar,這個類實例化的cookie對象,就能夠直接調用save方法。 mysession.cookies = cookielib.LWPCookieJar(filename='保存的文件名稱') postUrl = 'https://zhihu.com/login' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', 'referer':'https: // passport.mafengwo.cn /'##重定向的 } postData = { 'passport':account, 'password':password } #注意這裏和上面的發生了一點小變化哦 response = mysession.post(postUrl,data=postData,headers=headers) #這一句的好處是,登錄後就把cookies保存在了文件中,之後登錄就從文件取出cookie就能夠了,不須要作重複的登錄 #我這裏爲了好了解所有寫在了一個函數中了 mysession.cookies.save()#
#好比提取到的請求信息: # Headers: # Request URL:https://passport.mafengwo.cn/login/ # Request Method:POST # origin:https://passport.mafengwo.cn # referer:https://passport.mafengwo.cn/ # User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 # # Form Data: # passport:123456 # password:1235 # import requests #session表明某一次鏈接,也就是代替一下requests mysession = requests.session() # 由於原始的session.cookies 沒有save()方法,因此須要用到cookielib中的方法LWPCookieJar,這個類實例化的cookie對象,就能夠直接調用save方法。 mysession.cookies = cookielib.LWPCookieJar(filename='保存的文件名稱') header = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', 'referer':'https: // passport.mafengwo.cn /'##重定向的 } def _lo(account,password): ## try: import cookielib ##這裏是使用的python2的代碼 except: import http.cookiejar as cookielib # 這裏是使用python3的代碼 ##以上的這個嘗試只是兼容python2和python3而已,也能夠分開只寫python3的 postUrl = 'https://zhihu.com/login' postData = { 'passport':account, 'password':password } #注意這裏和上面的發生了一點小變化哦 response = mysession.post(postUrl,data=postData,headers=headers) #這一句的好處是,登錄後就把cookies保存在了文件中,之後登錄就從文件取出cookie就能夠了,不須要作重複的登錄 #我這裏爲了好了解所有寫在了一個函數中了 mysession.cookies.save()# def isLoginStart(): routerUrl = 'http://zhihu.com/user.php' # 第一個是header,若是不設置,會返回500的錯誤 # 第二個是allow_redirects,若是不設置,session訪問時,服務器返回302, # 而後session會自動重定向到登陸頁面,獲取到登陸頁面以後,變成200的狀態碼 # allow_redirects = False 就是不容許重定向 responses = mysession.get(routerUrl,headers = header,allow_redirects = False) if responses.status_code != 200: return False return True if __name__ == '__main__': mysession.cookies.load() if isLoginStart != True: print("cookies已經失效,正在從新登錄") _lo(123456,1235) rep = mysession.get('http://zhihu.com/user.php',headers = header,allow_redirects = False) print(rep.status_code)