大家好啊!
我最近用requests模塊 s = requests.session() 來做一些網頁的資料自動化提交。s.get請求沒有問題,并且有回傳response,但是當我用s.post 提交資料到一個網頁時候,回傳reponse: "You have already logged in and have active session!", 這個怎么處理呢?
import requests
import json
import urllib3
import pymysql
import collections
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
s = requests.session()
login_url = "https://pdl-sysd01.gtsonsl.com/users/sign_in"
customer_url = "https://pdl-sysd01.gtsonsl.com/users/set_customer"
role_url = "https://pdl-sysd01.gtsonsl.com/users/set_role"
referurl = "https://pdl-sysd01.gtsonsl.com/mss_patches"
#cookiesDit = {
# "Cookie": ""
#}
#requests.utils.add_dict_to_cookiejar(s.cookies, cookiesDit)
def fetchData(customer_id):
payload = {'user[email]': '[email protected]', 'user[password]': '*******'}
loginrp = s.post(login_url, data=https://bbs.csdn.net/topics/payload, verify=False, stream=False).text
customer_payload = {"customer_id": str(customer_id), "url": "pdl-sysd01.gtsonsl.com"}
cstmrp = s.post(customer_url, data=https://bbs.csdn.net/topics/customer_payload, verify=False, stream=False).text
role_payload = {"role": "rcp-requester"}
rolerp = s.post(role_url, data=https://bbs.csdn.net/topics/role_payload, verify=False, stream=False).text
print(rolerp)
urlupdate = "網址3"
update_header = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"Connection": "keep-alive",
"Cookie": "_session_id="+s.cookies.values()[0],
"Host": "pdl-sysd01.gtsonsl.com",
"Referer": referurl,
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
"X-CSRF-Token": "27625nhcbjwd+sj70318asymwdnqb/23043sdsaiuhbjh60688agsbvash6d27222hgsd87cvdw64724ws767dd8jh55649SSGSSYG*&G526311593335645005",
"X-Requested-With": "XMLHttpRequest"
}
updaterp = s.get(urlupdate, headers=update_header, verify=False, stream=False).text
urlgrprs = "網址4"
grpheader = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"Connection": "keep-alive",
"Cookie": "_session_id="+s.cookies.values()[0],
"Host": "pdl-sysd01.gtsonsl.com",
"Referer": referurl,
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
"X-CSRF-Token": "25059+bwhcjjdns98912sdb/wmyanq69112aisjbhusdh54886aashgsvd6b14545h7cgvdds8w29070d7876jhsdw19117SSY&GG*SGS832321593335752824",
"X-Requested-With": "XMLHttpRequest"
}
grprp = s.get(urlgrprs, headers=grpheader, verify=False, stream=False).text
mssurl = "網址5"
mssheader = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"Connection": "keep-alive",
"Cookie": "_session_id="+s.cookies.values()[0],
"Host": "pdl-sysd01.gtsonsl.com",
"Referer": referurl,
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
"X-CSRF-Token": "52051wjbs+ncdjh55581yab/wdsqmn85107sjidahhubs79682hgaassbv6d18209dcvdghs8w749100d8s76whj7d33575S*GGS&SYGS858291593335962456",
"X-Requested-With": "XMLHttpRequest"
}
mss_listrp = s.get(mssurl, headers=mssheader, verify=False, stream=False).text
mss_rcnum = mss_listrp.split('\\"id\\":')[1].split(',')[0]
devlist = []
for j in ["_18699_1191","_22588_1191","_18700_1191","_18701_1191","_22578_1191","_22577_1191","_22580_1191","_22586_1191","_22587_1191","_22579_1191","_22581_1191","_22582_1191","_22584_1191","_22583_1191","_22585_1191","_22576_1191","_22575_1191","_22574_1191"]:
devnum = str(mss_rcnum) + j
devlist.append(devnum)
uploadurl = "網址6"
print("_session_id="+s.cookies.values()[0])
uploadheader = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"Connection": "keep-alive",
"Content-Type": "application/json",
"Cookie": "_session_id="+s.cookies.values()[0],
"Host": "pdl-sysd01.gtsonsl.com",
"Origin": "https://pdl-sysd01.gtsonsl.com",
"Referer": referurl,
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
"X-CSRF-Token": "56028cnjsjhw+bd97479qbysmdawn/76134ijsudahbsh98394vg6sdaahbs14916hv8d7scdgw969016d7j8whds795356YSS&SGGS*G907191593336345902",
"X-Requested-With": "XMLHttpRequest"
}
postdata = {"mss_patches_devices": str(devlist),"patch_status":"Not Applicable","change_date":"2020-05-01","change_ticket_id":"NA","status_comment":"The apars is not applicable","selected_file":"1593259194611 LINUX - OTHER PRODUCTION SYSTEM_NA.xls.zip"}
#此處post會回傳reponse: "You have already logged in and have active session!",
postrp = s.post(uploadurl, headers=uploadheader, data=https://bbs.csdn.net/topics/postdata, verify=False, stream=False).text
print("postrp is:",postrp)
s.close()
uj5u.com熱心網友回復:
幫忙看看哈, 頂下
uj5u.com熱心網友回復:
這個百思不得其解,大神啊, 幫忙看下轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/28310.html
