Python 시 뮬 레이 션 로그 인 두 가지 실현 방법

Python 시 뮬 레이 션 로그 인 두 가지 실현 방법
가끔 은 우리 가 프로젝트 를 캡 처 할 때 특정한 사이트 에 로그 인해 야 특정한 내용 을 볼 수 있 기 때문에 모 의 로그 인 기능 이 없어 서 는 안 된다.산 선 이 이번에 쓴 글 은 주로 두 가지 예 가 있 는데 하 나 는 보통 쓰기 이 고 다른 하 나 는 대상 을 대상 으로 쓴 것 이다.
아 날로 그 로그 인의 중점 은 폼 의 실제 제출 주 소 를 찾 은 다음 에 쿠키,post 데 이 터 를 휴대 하면 됩 니 다.로그 인 에 성공 하면 저 희 는 다른 임의의 웹 페이지 를 방문 하여 웹 페이지 의 내용 을 얻 을 수 있 습 니 다.
방식 1:

import urllib.request 
import urllib.parse 
import http.cookiejar 
#post    
values={ 
'logon.x':'linke', 
'password':'xxxx', 
'username':'xxxxx' 
} 
 
#      
logUrl="http://192.168.32.112:8080/templates/index/hrlogon.do" 
 
#  cook 
cook=http.cookiejar.CookieJar() 
 
#  openner 
openner=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cook)) 
 
#  headers 
openner.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')] 
 
r=openner.open(logUrl,urllib.parse.urlencode(values).encode()) 
 
#print(r.read().decode('gbk')) 
 
r=openner.open("http://192.168.132.62:8080/kq/kqself/card/carddata.do?b_query=link") 
 
print(r.read().decode('gbk')) 



방식 2:


import urllib 
import urllib.request 
import urllib.parse 
import http.cookiejar 
import re 
 
 
class loginRLKQ: 
  post_data=b""; 
  def __init__(self): 
    #    ,cook   
    cj=http.cookiejar.CookieJar() 
    opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) 
    opener.addheaders=[('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')] 
    #     opener 
    urllib.request.install_opener(opener) 
 
  #login      post   
  def login(self,loginurl,encode): 
    #     
    req=urllib.request.Request(loginurl,self.post_data) 
    rep=urllib.request.urlopen(req) 
    d=rep.read() 
    #print(d) 
    d=d.decode(encode) 
    return d 
  #             
  def getUrlContent(self,url,encode): 
    req2=urllib.request.Request(url) 
    rep2=urllib.request.urlopen(req2) 
    d2=rep2.read() 
    d22=d2.decode(encode) 
    return d22 
if __name__=="__main__": 
    #     
    x=loginRLKQ() 
    # post     
    x.post_data=urllib.parse.urlencode({'username':"xxdd",'password':'xxdd','logon.x':'linke'}).encode(encoding="gbk") 
    #   
    y=x.login("http://192.168.132.61:8080/templates/index/hrlogon.do","gbk") 
    #       
    print(x.getUrlContent("http://192.124.32.16:8080/kq/kqself/card/carddata.do?b_query=link","gbk")) 

이상 은 Python 모 의 로그 인 을 실현 하 는 방법 입 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 하 십시오.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기