首页   注册   登录
 Ruohua3kou 最近的时间轴更新

Ruohua3kou

V2EX 第 308516 号会员,加入于 2018-04-13 22:12:53 +08:00
Ruohua3kou 最近回复了
60 天前
回复了 Ruohua3kou 创建的主题 Linux 安装 manjaro 时,进入 Livecd 时出现报错
@tushankaka 我也差不多了...就是终端下 pacman 安装东西都是找不到安装包,而在 GUI 下的 pacman 就可以.....
@zyqf 感谢提醒 ! 但是没找到类似 csrf_token 的值,第一次发帖,我会注意排版的。。
@LeGendAI 刚试了下,data 改成 json=json.dumps(data)了,TAT 还是不行
import requests
import re
import json

ses = requests.Session()
first_url = "htt [防检测] p://112.74.185.30:8080/yiban-web/stu/toSubject.jh [防检测] tml?courseId=8"
first_headers={
'host': '1 12.74.185.30:8080',
'Accept-Encoding': 'gzip, deflate',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1',
'Referer': 'h [防检测] ttp://112.74.185.30:8080/yiban-web/stu/toCourse.jht [防检测] ml',
'DNT': '1',
'Connection': 'keep-alive',
}
first_cookies = {'JSESSIONID': 'E3857AA04B846ED5414BA5EE0421617F'}

res=ses.get(url=first_url,cookies=first_cookies)

text=res.text
answer = re.findall(r'"answer":\"(.*?)\"',text)
uuid = re.findall(r'baseInfoData.data.uuid = \'(.*)\'', text)

headers = {
'host': '112.74.185.30:8080',
'Accept': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate',
'Content-Type': 'application/json; charset=UTF-8',
'Origin': 'ht [防检测] tp://112.74.185.30:8080',
'Content-Length': '57',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1',
'Referer': 'h [防检测] ttp://112.74.185.30:8080/yiban-web/stu/toSubject.jht [防检测] ml?cour [防检测] seId=8',
'DNT': '1',
'Connection': 'keep-alive',
'Cookie': 'JSESSIONID=0D7E4E12942F878489DEA60B97561F8F',
}

data={
'answer':'A',
'courseId':'8',
'uuid':''
}
data['uuid'] = uuid[0]
data['answer']=answer[0]

res = ses.post(url='ht [防检测] tp://112.74.1 [防检测] 85.30:8080/yiban-web/stu/changeSituation.jht [防检测] ml',
headers=headers, data=json.dumps(data))
print(res.text)

===========================================
利用 session(),使上次 get 和下次 post 成功对同一个页面请求了,但是第二次的 post 从被验证为非法访问变成了响应头 500.....(应该是 UUID 对上了所以验证为合法访问了,但是不知道什么原因出现 500 错误) 看了下,第一次 GET 到的页面中提交函数是用 muj.ajax (我不太懂 js。。),
function changeSituation(answer){

var data={'answer':answer,'courseId':baseInfoData.data.subject.courseId,'uuid':baseInfoData.data.uuid};

mui.ajax({

url: '/yiban-web/stu/changeSituation.jhtml',

async: true,

cache: false,

type: 'post',

data:data,

dataType: 'json',
…………………………

=============================================
不知道现在有什么解决办法呢,望请教!
谢谢楼上各位,我试试这俩方法。。
@wisej 新回复贴了代码,是想得到 GET 页面生成的一段 KEY 值
import requests

# ses = requests.Session()
# first_url = "http://112.74.185.30:8080/yiban-web/stu/toSubject.jhtml?courseId=8"
# first_headers={
# 'host': '112.74.185.30:8080',
# 'Accept-Encoding': 'gzip, deflate',
# 'Upgrade-Insecure-Requests': '1',
# 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1',
# 'Referer': 'http://112.74.185.30:8080/yiban-web/stu/toCourse.jhtml',
# 'DNT': '1',
# 'Connection': 'keep-alive',
# }
# first_cookies = {'JSESSIONID': '0D7E4E12942F878489DEA60B97561F8F'}

# res=ses.get(url=first_url,cookies=first_cookies)

headers = {
'host': '112.74.185.30:8080',
'Accept': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate',
'Content-Type': 'application/x-www-form-urlencoded',
'Origin': 'http://112.74.185.30:8080',
'Content-Length': '57',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1',
'Referer': 'http://112.74.185.30:8080/yiban-web/stu/toSubject.jhtml?courseId=8',
'DNT': '1',
'Connection': 'keep-alive',
'Cookie': 'xxx',
}

data={
'answer':'A',
'courseId':'8',
'uuid':'EB180D559F46426DAD2E9916DEA501DBxxxxxx'
}

res = requests.post(url='http://112.74.185.30:8080/yiban-web/stu/changeSituation.jhtml?_=1526406696684',headers=headers, data=data)
print(res.text)


====================================
注释里 GET 得到的页面里,有个 UUID 在一段 JS 代码里,然后我想得到这个 UUID 并且加到 DATA 中去 POST 刚刚 GET 得到的内容
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   939 人在线   最高记录 3762   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 11ms · UTC 23:58 · PVG 07:58 · LAX 16:58 · JFK 19:58
♥ Do have faith in what you're doing.
沪ICP备16043287号-1