python 代理_Python实现请求代理

classMyRequestHandler(SimpleHTTPRequestHandler):defaddHeader(self):

self.send_header("Access-Control-Allow-Origin", "*")

self.send_header("Access-Control-Allow-Headers", "*")

self.send_header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")

self.send_header("Content-type", "text/html")defdo_GET(self):print('Get请求:'+self.path)

rep_get= requests.get(serverurl + self.path, cookies=cookie_jar)if rep_get.status_code == 200:

self.send_response(200)

self.addHeader()

self.end_headers()

self.wfile.write(rep_get.text.encode("utf-8"))else:

self.Login()

rep_get= requests.get(serverurl + self.path, cookies=cookie_jar)

self.send_response(200)

self.addHeader()

self.end_headers()

self.wfile.write(rep_get.text.encode("utf-8"))defdo_POST(self):print('Post请求:'+self.path)

request_contentType= str(self.headers["Content-Type"])if request_contentType.find('application/x-www-form-urlencoded')>-1:

data= str(self.rfile.read(int(self.headers["content-length"])),'UTF-8')#data = str(self.rfile.readlines(), 'UTF-8') # 先解码

p1 = urllib.parse.parse_qs(urllib.parse.unquote(data)) #解释参数

rel_par={}for it inp1:

rel_par[it]=p1[it][0]

rep_post= requests.post(serverurl + self.path, cookies=cookie_jar,data=rel_par)if rep_post.status_code==200:

self.send_response(200)

self.addHeader()

self.end_headers()

self.wfile.write(rep_post.text.encode("utf-8"))else:

self.Login()

rep_post= requests.post(serverurl + self.path, cookies=cookie_jar, data=rel_par)

self.send_response(200)

self.addHeader()

self.end_headers()

self.wfile.write(rep_post.text.encode("utf-8"))else:

req= {"success": "false", "message": "暂时只支持Content-Type=application/x-www-form-urlencoded"}

self.send_response(200)

self.addHeader()

self.end_headers()

rspstr=json.dumps(req)

self.wfile.write(rspstr.encode("utf-8"))defLogin(self):

isLogin=True

req_login1= requests.post(serverurl + '/SUP/Login/WebLogin',data={'ocode': '','UserID': user,'UserPwd': pwd,'DataBase': ucode,'Language': "zh-CN",'verifyCode': ""})if req_login1.status_code == 200:if req_login1.text.find('success: true') >0:

globals()['cookie_jar']=req_login1.cookieselse:

i1= req_login1.text.find('msg')

km= json.loads(req_login1.text[i1 + 5:-2])if km !=None:print('开始踢人')

req_kill= requests.post(serverurl + '/SUP/Login/KillOnlineUser', data={'IpAddress': km['IpAddress'],'Devicetype': km['Devicetype'],'UserId': km['UserId'],'SessionID': km['SessionID']

})if req_kill.status_code == 200:print('踢人成功,重新登录')

req_login2= requests.post(serverurl + '/SUP/Login/WebLogin', data={'ocode': '','UserID': user,'UserPwd': pwd,'DataBase': ucode,'Language': "zh-CN",'verifyCode': "",'IsOnlineCheck': '1'})if req_login2.status_code == 200:

globals()['cookie_jar'] =req_login2.cookieselse:

isLogin=Falseprint('踢人以后登录返回错误,请检查服务器是否可访问')else:

isLogin=Falseprint('踢人接口错误,请检查服务器是否可访问')else:

isLogin=Falseprint('登录返回错误,请检查服务器是否可访问')else:

isLogin=Falseprint('服务器登录返回错误,请检查服务器是否可访问')return isLogin

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值