提交 70b4d3e8 编写于 作者: YYYTDMS's avatar YYYTDMS

330_调整福大教务处爬取方法

上级 8c630b6b
import React, {Component} from 'react';
import {
StyleSheet,
Text,
View,
Dimensions,
TextInput,
Button,
Image,
TouchableOpacity,
ImageBackground,
ToastAndroid,
StyleSheet,
Text,
View,
Dimensions,
TextInput,
Button,
Image,
TouchableOpacity,
ImageBackground,
ToastAndroid,
} from 'react-native';
import Icon from 'react-native-vector-icons/AntDesign';
import {
ASPLogin,
getUrlkey,
loginSystem,
SSOLogin,
ASPLogin,
getUrlkey,
loginSystem,
SSOLogin,
} from '../../../utils/educationUtil';
/**
......@@ -29,259 +30,246 @@ import {
* 修改后 android:windowSoftInputMode="stateAlwaysHidden|adjustPan">
*/
const {width, height, scale} = Dimensions.get('window');
class LoginView extends Component {
constructor(props) {
super(props);
this.state = {
muser: '',
passwd: '',
VerifyCode: '',
iconnum: true,
id: '',
verify_url:
'https://jwcjwxt1.fzu.edu.cn/plus/verifycode.asp?n=' + Math.random(),
};
this.login = this.login.bind(this);
this.refreshCode = this.refreshCode.bind(this);
}
refreshCode() {
this.setState({
verify_url:
'https://jwcjwxt1.fzu.edu.cn/plus/verifycode.asp?n=' + Math.random(),
});
}
constructor(props) {
super(props);
this.state = {
muser: '',
passwd: '',
VerifyCode: '',
iconnum: true,
id: '',
verify_url:
'https://jwcjwxt1.fzu.edu.cn/plus/verifycode.asp?n=' + Math.random(),
};
this.login = this.login.bind(this);
this.refreshCode = this.refreshCode.bind(this);
}
changeMuser = text => {
this.setState({muser: text});
};
changepasswd = text => {
this.setState({passwd: text});
};
changeVerifyCode = text => {
this.setState({VerifyCode: text});
};
changeiconnum = () => {
this.setState({iconnum: !this.state.iconnum});
};
refreshCode() {
this.setState({
verify_url:
'https://jwcjwxt1.fzu.edu.cn/plus/verifycode.asp?n=' + Math.random(),
});
}
async login() {
let loginParams = {};
let params = {};
loginParams.muser = this.state.muser;
loginParams.passwd = this.state.passwd;
loginParams.VerifyCode = this.state.VerifyCode;
changeMuser = text => {
this.setState({muser: text});
};
changepasswd = text => {
this.setState({passwd: text});
};
changeVerifyCode = text => {
this.setState({VerifyCode: text});
};
changeiconnum = () => {
this.setState({iconnum: !this.state.iconnum});
};
if (loginParams.muser === '') {
ToastAndroid.show('学号不能为空!', 500); //提示
return;
}
if (loginParams.passwd === '') {
ToastAndroid.show('密码不能为空!', 500); //提示
return;
}
if (loginParams.VerifyCode === '') {
ToastAndroid.show('验证码不能为空!', 500); //提示
return;
}
async login() {
let loginParams = {};
let params = {};
loginParams.muser = this.state.muser;
loginParams.passwd = this.state.passwd;
loginParams.VerifyCode = this.state.VerifyCode;
await loginSystem(loginParams)
.then(response => {
if (response.url.search('hosturl') !== -1) {
params = getUrlkey(response.url);
}
return response.text();
})
.then(data => {
if (data.search('验证码不能为空!') !== -1) {
this.refreshCode();
ToastAndroid.show('验证码不能为空!', 500); //提示
return;
if (loginParams.muser === '') {
ToastAndroid.show('学号不能为空!', 500); //提示
return;
}
if (data.search('验证码验证失败!') !== -1) {
this.refreshCode();
ToastAndroid.show('验证码验证失败!', 500); //提示
if (loginParams.passwd === '') {
ToastAndroid.show('密码不能为空!', 500); //提示
return;
}
if (data.search('用户名或密码错误!') !== -1) {
this.refreshCode();
ToastAndroid.show('用户名或密码错误!', 500); //提示
if (loginParams.VerifyCode === '') {
ToastAndroid.show('验证码不能为空!', 500); //提示
return;
}
});
if (JSON.stringify(params) === '{}') {
return;
}
this.setState({
id: params.id,
});
await loginSystem(loginParams)
.then(response => {
if (response.url.search('hosturl') !== -1) {
params = getUrlkey(response.url);
}
return response.text();
})
.then(data => {
if (data.search('验证码不能为空!') !== -1) {
this.refreshCode();
ToastAndroid.show('验证码不能为空!', 500); //提示
return;
}
if (data.search('验证码验证失败!') !== -1) {
this.refreshCode();
ToastAndroid.show('验证码验证失败!', 500); //提示
}
if (data.search('用户名或密码错误!') !== -1) {
this.refreshCode();
ToastAndroid.show('用户名或密码错误!', 500); //提示
}
});
let SSOParams = {
token: params.token,
};
let ASPParams = {};
await SSOLogin(SSOParams).then(res => {
ASPParams = {};
ASPParams.hosturl = params.hosturl;
ASPParams.ssourl = params.ssourl;
ASPParams.num = params.num;
ASPParams.id = params.id;
});
if (JSON.stringify(params) === '{}') {
return;
}
this.setState({
id: params.id,
});
if (JSON.stringify(ASPParams) === '{}') {
return;
let SSOParams = {
token: params.token,
};
await SSOLogin(SSOParams).then(res => {
ToastAndroid.show('登录成功!', 500); //提示
this.props.navigation.navigate('SchoolMapHome', {id: params.id});
});
}
await ASPLogin(ASPParams).then(resp => {
if (resp.status === 200) {
ToastAndroid.show('登录成功!', 500); //提示
this.props.navigation.navigate('SchoolMapHome', {id: params.id});
}
return resp.text();
});
}
render() {
const {navigation} = this.props;
return (
<View style={styles.container}>
<ImageBackground
source={require('../../../images/Map/福大登录界面背景.png')}
style={{width, height: null, flex: 1}}
resizeMode="cover">
<View
style={{
// width: width / 1.5,
// height: height / 1.5,
alignItems: 'center',
justifyContent: 'center',
marginLeft: width / 5,
marginRight: width / 5,
marginTop: height / 6,
marginBottom: height / 6,
// backgroundColor: 'black',
borderColor: '#592202',
borderWidth: 3,
borderRadius: 10,
backgroundColor: '#F6ECE1',
}}>
<Text style={{color: '#592202'}}>教务处登录</Text>
<View>
<Image
source={require('../../../images/Map/福大图标.jpg')}
style={{
width: 40,
height: 40,
borderRadius: 40,
borderWidth: 2,
borderColor: 'white',
}}
/>
</View>
render() {
const {navigation} = this.props;
return (
<View style={styles.container}>
<ImageBackground
source={require('../../../images/Map/福大登录界面背景.png')}
style={{width, height: null, flex: 1}}
resizeMode="cover">
<View
style={{
// width: width / 1.5,
// height: height / 1.5,
alignItems: 'center',
justifyContent: 'center',
marginLeft: width / 5,
marginRight: width / 5,
marginTop: height / 6,
marginBottom: height / 6,
// backgroundColor: 'black',
borderColor: '#592202',
borderWidth: 3,
borderRadius: 10,
backgroundColor: '#F6ECE1',
}}>
<Text style={{color: '#592202'}}>教务处登录</Text>
<View>
<Image
source={require('../../../images/Map/福大图标.jpg')}
style={{
width: 40,
height: 40,
borderRadius: 40,
borderWidth: 2,
borderColor: 'white',
}}
/>
</View>
<View>
<TextInput
placeholder={'学号'}
style={styles.textInputStyle}
onChangeText={text => {
this.changeMuser(text);
}}
/>
</View>
<View>
<TextInput
placeholder={'密码'}
secureTextEntry={true}
selectionColor={'black'}
keyboardAppearance={'dark'}
style={styles.textInputStyle}
onChangeText={text => {
this.changepasswd(text);
}}
/>
</View>
<View style={{flexDirection: 'row'}}>
<TextInput
placeholder={'验证码'}
style={styles.textInputStyle2}
onChangeText={text => {
this.changeVerifyCode(text);
}}
/>
<TouchableOpacity onPress={() => this.refreshCode()}>
<Image
resizeMode="contain"
source={{uri: this.state.verify_url}}
style={{
width: width * 0.2,
height: 38,
resizeMode: 'stretch',
}}
/>
</TouchableOpacity>
<View>
<TextInput
placeholder={'学号'}
style={styles.textInputStyle}
onChangeText={text => {
this.changeMuser(text);
}}
/>
</View>
<View>
<TextInput
placeholder={'密码'}
secureTextEntry={true}
selectionColor={'black'}
keyboardAppearance={'dark'}
style={styles.textInputStyle}
onChangeText={text => {
this.changepasswd(text);
}}
/>
</View>
<View style={{flexDirection: 'row'}}>
<TextInput
placeholder={'验证码'}
style={styles.textInputStyle2}
onChangeText={text => {
this.changeVerifyCode(text);
}}
/>
<TouchableOpacity onPress={() => this.refreshCode()}>
<Image
resizeMode="contain"
source={{uri: this.state.verify_url}}
style={{
width: width * 0.2,
height: 38,
resizeMode: 'stretch',
}}
/>
</TouchableOpacity>
</View>
<TouchableOpacity
style={{
backgroundColor: '#F4D9BE',
width: width - width / 2,
marginBottom: 20,
}}
onPress={() => {
if (!this.state.iconnum) {
this.login();
// navigation.navigate('SchoolMapHome');
} else {
ToastAndroid.show('阅读并同意用户协议和隐私政策!', 500); //提示
}
}}>
<Text style={{color: '#592202', textAlign: 'center'}}>登录</Text>
</TouchableOpacity>
<View style={{flexDirection: 'row', marginBottom: 5}}>
<TouchableOpacity onPress={this.changeiconnum}>
{this.state.iconnum ? (
<Icon name={'minuscircleo'} size={20}/>
) : (
<Icon name={'checkcircleo'} size={20}/>
)}
</TouchableOpacity>
<Text style={{fontSize: 14}}>阅读并同意用户协议和隐私政策</Text>
</View>
</View>
</ImageBackground>
</View>
<TouchableOpacity
style={{
backgroundColor: '#F4D9BE',
width: width - width / 2,
marginBottom: 20,
}}
onPress={() => {
if (!this.state.iconnum) {
this.login();
// navigation.navigate('SchoolMapHome');
} else {
ToastAndroid.show('阅读并同意用户协议和隐私政策!', 500); //提示
}
}}>
<Text style={{color: '#592202', textAlign: 'center'}}>登录</Text>
</TouchableOpacity>
<View style={{flexDirection: 'row', marginBottom: 5}}>
<TouchableOpacity onPress={this.changeiconnum}>
{this.state.iconnum ? (
<Icon name={'minuscircleo'} size={20} />
) : (
<Icon name={'checkcircleo'} size={20} />
)}
</TouchableOpacity>
<Text style={{fontSize: 14}}>阅读并同意用户协议和隐私政策</Text>
</View>
</View>
</ImageBackground>
</View>
);
}
);
}
}
const styles = StyleSheet.create({
container: {
alignItems: 'center',
flex: 1,
flexDirection: 'column',
backgroundColor: '#dddddd',
},
iconStyle: {
width: 80,
height: 80,
marginTop: 50,
marginBottom: 30,
borderRadius: 40,
borderWidth: 2,
borderColor: 'white',
},
textInputStyle: {
width: width - width / 2,
backgroundColor: '#F6ECE1',
marginBottom: 1,
paddingLeft: 10,
textAlign: 'left',
borderBottomWidth: 1,
borderBottomColor: '#797979',
},
textInputStyle2: {
height: 38,
width: width - width / 2 - width * 0.2,
backgroundColor: '#F6ECE1',
marginBottom: 1,
paddingLeft: 10,
textAlign: 'left',
},
container: {
alignItems: 'center',
flex: 1,
flexDirection: 'column',
backgroundColor: '#dddddd',
},
iconStyle: {
width: 80,
height: 80,
marginTop: 50,
marginBottom: 30,
borderRadius: 40,
borderWidth: 2,
borderColor: 'white',
},
textInputStyle: {
width: width - width / 2,
backgroundColor: '#F6ECE1',
marginBottom: 1,
paddingLeft: 10,
textAlign: 'left',
borderBottomWidth: 1,
borderBottomColor: '#797979',
},
textInputStyle2: {
height: 38,
width: width - width / 2 - width * 0.2,
backgroundColor: '#F6ECE1',
marginBottom: 1,
paddingLeft: 10,
textAlign: 'left',
},
});
export default LoginView;
......@@ -8,7 +8,6 @@ function loginSystem(params) {
params.VerifyCode;
return fetch('https://jwcjwxt1.fzu.edu.cn/logincheck.asp', {
method: 'POST',
mode: 'cors',
body: data,
headers: {
Accept: 'application/x-www-form-urlencoded',
......@@ -27,7 +26,7 @@ function loginSystem(params) {
// 参数需要token
function SSOLogin(SSOParams) {
let data = 'token=' + SSOParams.token;
let data = 'token=' + encodeURIComponent(SSOParams.token);
return fetch('https://jwcjwxt2.fzu.edu.cn/Sfrz/SSOLogin', {
method: 'POST',
mode: 'cors',
......@@ -50,7 +49,7 @@ function ASPLogin(params) {
let paramsArray = [];
//拼接参数
Object.keys(params).forEach(key =>
paramsArray.push(key + '=' + params[key]),
paramsArray.push(key + '=' + encodeURIComponent(params[key])),
);
if (url.search(/\?/) === -1) {
url += '?' + paramsArray.join('&');
......@@ -60,7 +59,8 @@ function ASPLogin(params) {
}
return fetch(url, {
method: 'GET',
redirect: 'manual',
// redirect: 'manual',
redirect:false,
headers: {
Host: 'jwcjwxt2.fzu.edu.cn:81',
Connection: 'Keep-Alive',
......@@ -70,6 +70,7 @@ function ASPLogin(params) {
});
}
function queryRoom(params) {
let buildings = {
x1: '公共教学楼西1',
......@@ -87,6 +88,7 @@ function queryRoom(params) {
let end = params.end;
let url =
'https://jwcjwxt2.fzu.edu.cn:81/kkgl/kbcx/kbcx_kjs.aspx?id=' + params.id;
// 'https://59.77.252.46:81/kkgl/kbcx/kbcx_kjs.aspx?id=' + params.id;
// let data = {
// ctl00$xz1: '>=',
......@@ -106,24 +108,26 @@ function queryRoom(params) {
// };
let data =
'ctl00%24xz1=%3E%3D&ctl00%24jsrldpl=0&ctl00%24zzjdpl=' +
end +
encodeURIComponent(end) +
'&__VIEWSTATE=vlO7ulF2G6X63w1SlqH5BKo%2BAWvXqo18v%2Ff42wSd%2F%2FxdopynqZYr35zy6uIffqfTmEZNAGy3sY80CbFTVgwqgwjZrie0AwIYpmvdnSxxEWB2UWesnZHICqeGc15FV5DIC4RGLM1ZvuXiegiJbJImxergBh0mvwAYgjBDTeVg4sh4ZKphJTKgYhvzS13bKPVGJJTB9b644vfFYzURKKR5Bg92Ht0JW06KNgJuNjLZ737qjITmAW5lis5iL4LRevPfUHtMSa%2FBdnZ8BYmcQmyG5tXFH8jeezDaj54rombO0X9jzCaaO58MGkPpmsMfuHE5FUWe%2BapyZQ96vMuYuDSVhuK1togeUd%2B1xT5fxJyROgi4HKwf8AWyW%2BluVnL0EjKpzTA9kARMyJDPFHsDkMU%2Fm%2BhxWEwweAAwjBKJhs8wD2k7yItwCRq4KPrvCBFhCArmyqW7V8r0LNGUQqC9UB7ot13m0Qmt6ioGeDm7ts9pZMNivgXFrgS1PhD1GvrdsUN%2BiXvv81G5rVzCYarObhBAejbQ3QP7zWV2%2BpAxX5kypKzEAHveGo4j8pc5rPZkvKUvuNN3FpcnXW%2Fs%2FNfso7%2Fp30ZBoBo%2BUFnPp1lS2cheMcsghxOyiRoLh9wXpB9SY%2F9mJmf2w3fE%2FMI7ZoYbCbom0uv5WJFe4d%2Fb0evkOaou3Bv4%2Blotuyjxeor0qw1nQ%2FH5UefBYPBug1OJEN26UkCjScH8VcuJJLEOBL5ALi%2BUhxG%2Bbb%2FYS3ZCg8ZVadocDI9JSoY42Q4oCX9YxVTTDvro8Ao4iplIl3onjogltnh2hvH2fdCUYeEgaJRzTwT1D%2BXXlq2E6%2FSgfFimhHNdBEKftzZ0C%2Fl2kkijYlUoVzUPKFBbyjz%2FjAnuqsPvrWMNiGMu2JgpMUiTT8x1tPTKkAyOFCmQcs3EopkvVq59O9WNMipXZtMf4u7vu5oalyvO0MVIGDD6SB%2BMlZ5lA3GGKTlP1pOpDe0zQwuQuh9n9K90XzxgtD9W9JSz8As7%2F8SKWTeQ7JorW%2BRwKxh6cVMAl69QnGs8xHnk0xcWdHQ6vpvdccjsgpOTlJKHGiggM7dblv3r9c0QTN0juK8jqRGVicuDdd%2Ftbk9v%2FNendlLiuayZNCGrmZauk1MXgNCM49NFvEHavX7ANm0GdQYRX9lGKVRSfT4MEje22i5CQ%2BiV2B0jkE9I%2F7E7c%2FRrJKryInC6nMxyZaWdrIDTPic8Gt%2B0GZiTbdlK3QNtKAZp%2BaS%2FJAZvzWxDX6Kq2arekl8qwMnY83uItF%2BePgS%2FHAAsg%2F07niRrNnCO7MPGRrqb8kOLlN%2B1c2hGZ%2Bu3NAnG8RfdgZC6gmbvPA3bUr5jpxWiosH7h7x3xujhjhnToevL8t9EmH1B7J4IS9f3KDkD1db1fidozuDvYCe9uWseh6FNNhtZ5e1c%2BmhpcX5AcOL40ZtWsG57oO3JM34hiuwkZQg8qS1okRL%2BxoKCtPLQGWoZvAyDQyvdtjvEkKqETVbrfCbB4ozYtpfpVEIQlYdHe4rqEVGu4CHrhXyq0DwVHnq4SitgXLCTh5c9XMAI6nXFMu1qLyzFCZGMMElEdnf2Fr1zuL%2FYi9Y2qz%2B9D8%2B1VFnZArlsLunpEOD2Q%2FifbJbZ1KcQoO55ASLMdecK8TqtnASdVs3GC1c%2BVt%2FIcRe%2Bvws3yYinTTu4OfnZaxwUrhEYsohpoYIq2SHG1XJlx5dQliFxPm%2F3q2UgjHC5IoxuNFZaRCHgxRRPkwg6Z76zAYqEN4iKre6%2FebxsE3vgeB%2FffFFbQvq3wGlBLNAekx6woag8xiM2S7JHFHuJO5%2Brp5ljS7w4zvNjiPap9HG2UuRFeFASwcUQ1n7Lajx1MUg4RdSYVuU1ga3E9Mnof7hSm%2Fn2cE6mXUWUDfGIdwNJlNLaNXXnG%2FnWkv%2BUKTBp6d%2Fo2s31KazFZWb8ye90Vsb9bJjuxLu1WGOyNaz8LtuZNeHDEmjTBT2DKDZaaYSN2Z%2BWQUHFA2%2BXnWwFSenL0eb1K%2Fgjp6yuJ8jTSrWrEmX6g0747lXj9EpwY9CEBlZtf6ArbdHVcOSPLNy2JDTL%2BzpMiICT5HfsHeZMgTmqhKNUVhzV4XF4KBp6eJP5KV%2BVvNTEbBJJJuZxoCX3HGR6%2BmXLI36Ei3m%2B4srUi6ueiUodYGyUCKnxtCEyos6KbJ55GpE3IvoHnvJnfCVumRNPCUdIx6ZCMqnEQ6WT3n53WNBeFx4QRKkQ3SCyOzNPEVo9%2FslqzQFfDNMya0QuVONdgf%2F7nmhEG8vzTc0iTZ%2BQtwF6L8Y9ez0Lx76uWRE6Zhi3zAVphzJNm0P2RqZjbAZ6lrnUGfclDMs9oOiqVYa%2FNtFrlrBDU%2Frpr55lpqm5LJ%2Fe8gw5kQMWmSZHEIWX39NX%2BkT3uXPSmwtsv0u4l1qvZy9WgJUHHbgQ7u1MSPUKIXRUhr4KAQMhQfENHuy9EmhDj8yCRgxyYAyqU0QQACzd9k6mMeHroH%2F3Qrz%2BN9TNY5BKZFu5MPwvoV4Im6V5W2%2BNS8WTZXv0uY4fWswjuUX6IwGqMpraZEjfeNZnT37Or29DfIRtvXdaWOLcgfl%2Bv01Dhc7vVV2I25Wc%2BWxtql%2FQibAAjf4LGTDmA7fiqYtwfxalBpRDj9d%2FOYKY5mbZShc64BnkKim1O8vaRF7MCKg%2Bp00crT173Nzb77i4A2GLuB7jFazH7e84Cnqq0m1BtlSkDqbhVlDIogko3J253Q5k6M964eyS0cmGOFK%2FQkiDRBVuGUZQrtOvE0UpnCPV%2F3xc0V%2F8sq1o5N%2Foo5LJA9nApfs5yABPb%2FF9KrrCcoEBBN%2FVw6BMMTPXPaZ5S3BqxlkhvhReoVSWXs8oiBEJ6u0EdZh838STINMjiZc9ENhIoqPd%2BAVuIGDCm%2BYQy09S5rGOL46MkhA99wtT%2BFIHMB9Y5vZunq3U9egEeU3V4OxDb20h44ZYxgS%2BhrKh1YQAaXsXe52CHYs0P1HOR68mBmpF72%2BoNFVGgoiWA9WhK1gyh74iA3ehB6eAruWw8RxJSU%2BurzeuEw93%2BR%2F8lL8EOC2%2FybZ%2BjKifktyFgyR%2FjiGl67FwzUJQoErA6EyZXdklBb19lrCIJkLrqmdKMjrcoG72YgdYCRD7JgI7YZQpbGl3nd%2FjcT1Du2rdDdzZapp4ChVb3m7ytAOKwDQp0k9sNOVdmflIEkRLBYBQb3q9h%2Bq50ldQWbg5%2Fm6wqzwzsDCPwQDD8BDnO2BtcoQwF0jk2dwbzbMemqdPEmCASULhtjPq%2Bm5oIMep3z0AmfrYi6lZTT%2BJy3GzzSXi6f5onCQrVueu2pWcWs4gXE%2B62iLEjzzMQshGMzfxSCct51SdDV34lrnSk2nr4ud9Hqoj9CCLZkbNGqfEvN8aEDjgMIHg9e62jl9Kzhnd%2FypYosSuVjzPRFes2Dg8anda%2BakNT%2FMEn5fBSoLz7ei0iRUSKnNVPL0bWUrWQPkQ%2BdUB4Tf6oL9lcRUArXPCf24d6ObmPCpuochPRYCE9zvizX2nIqWMu1CLLqRZa4IFi%2Fr1%2Fdp4u3OZ5TqYTNOF86PQADku7ZuQLm%2Fw%2FGTO8MS%2BUt1iNI31QfewvdY9KHQJ0sg%2BryL1JqaIKyH7SY%2BvONbU%2FMlcQLeWCkDOgzwuedrleMUK3SbGZDv3rTlshqFXIZlGRsrZlP7DRpXOF5uw75%2BDVj58vr0hOzM2dZanJL%2BCRfTZpQVMYwziq9Zk5u6G0%2B3QLwnCAiHDh5hxVuP4v9eUDF14tJzIWtnRA4kR3LSov%2F3HFMDhAiHKy%2FSMHv0zWhigjTvkvHisddc%2BrGIzOiiCc1dAEGfJ%2Fm6L55FOxbXsO0Ci35krTu9jkwMM23wIHhBeF8TcaNiWh797nMhTH97mJ9j6eXT2iW0h3iU8X3b1B13abl9Kubsfs8fNV%2FbIQWa6dPvbW2aq37WGOBgR0ruxH9wFH%2FmiX1sgrQGNrbOAQsSbamY%2BI2wuGQMkHaG1NXws4rJ4EMpbBi3oc7ChqvJa94cwJ6M16ifc6aQYd8DD%2FU8OkAQ1vRGm8gNF%2FarkoSC3MiZTGMSkDMk4cQpPcjO6C%2BFb1tHxKl0ovmO0955NYyDMT1wSuRZudQnG9hwBt%2BzruO3FzikzJtN2qyxtxI5Na3CETj1Fgp1jI723eUf7n%2FvOCQ19%2FZllXiiuqdKBdilFhUYsCXRTy%2BWXCtYgmC8pbuwSxNuuTInVAX2HjM8pk32%2FV6m0kcqsgCoIU%2FQcPO1%2Bc5kVQEyidQ6CcmtUMo%2F1xU%2FRm32ns74xJ84otjvtgoqjbUmXtO25DTwEfWCkE08JeN3p788bhuPVYsM7W3Mnq3cntODRu45Fl1Z2Y6q870Roz3nsyigDS2hQMbpLnziio1xn1cv8EAZNP3dum%2BvTawEocgv6J%2Bf2Utj%2B9OpN6vhBHwoNf%2BhZLCqUr%2FqjLasHIysIh7Z%2BjSKFfyZmX5GJ95doHfAiSpgAHnwgQgwnVna%2ByFRsCGjCu%2B%2B7iUTQuAWzYc2sSS5uwOxMmu%2BCD7l4p1vT93CbZBV6%2FhtB8AJs6nKX14WvfRTWouJzvOBQqsI5GDScl8aVw7or4fvCcsDU3hMNA9lmG38HJGV8DVhVM6upNqj6MBA2WlNDSDOZh%2FGPSAvNrVvk5t%2BG0AG%2B%2B4QKIMd0uBfL6cA5JyeF0J5LgivlClbdY21qLlvA3YRP5eOCaKQbqSYWQffD%2FINAf4t4tMqozYuZwLM%2Fpuza8oMGHTGiqP4X7llTFk51EuXZ4N1iBT32Ex4ziF2cosfyJwpQ5iMtleWPZh10hyiFrsjsV8B6HvIbpFw3Vf8sXohDuxjNa2qpwNDnU9pheW6NoVAQDa%2BdLethUnK9sL6eFbQcLY%2BNzKqBJR0BdvJMWlFXHZB8CV4iGfwXCFprHxc1xJJlOyToXyeAlZ631ayvhLL5mRz%2BIP8HBiIE%2Fn1fX9DFCO8OV3S3pcwePGFUydM2yl0GGKX9SMWWLAyn6RiN5WGHmo5cm8lQPKJL%2FOLJvSRGo8DGZq%2BHZkYdX2%2BeeGHPBR8ijLhxOlvR%2FuGiEIwwphSafQpje8L7TGUQoD8vjVhrA4c9vPm997QZSoFoVX1uxXkntF7P%2FwoasZ8QocaLH0MaS78%2BJrSWggy3N%2FNQpau%2FlCFlgQQOL9eHwzH43J9AJ3a6h%2F0Ph85XGAVxbkLnHki9eaH%2BrObXy4I%2F6YmKVcc7Em1J2MEDub%2B%2FALRCb5F3i8nKv3d7HUTGWLsue9QhPco%2Fc8mDHYvWLojn6uM30ODPbQPx1CR%2FQzxQHxbGXLGVL76x2N6i9hGxVMDqEIfFIJpIX3F1eW0bVpAJrfD3ASUFLi6YV6I96VvSdIgXMWsOnxNQhe1p7HO1aRZkP2eaNzu%2FdxQG1YMG1ZEG5M%2FLlLOJN0ImETtjzMNs1sEgvYlZmOxby9yN1vhRV5fePrCqVj139hsvHS7uZaXZVLMN3DpbZC7vdgxAn%2Ftmo9lG6f4QnV9r5CFDynfQ8ZEzrAJr%2FnjiZtwZxl3jp5YHPASW8BSBJCW2r4SUUNsLB1ybYatSmywQbM5UmwDyDWnhqcJ7QMQRk%2B2MveqhNIS4P8rcYJrJKJgMBu2ob%2Bx9TFeL0S%2BxQYoqRzCxkiK45oRHstx7UWmsX621SGyd1KLCJNDNEQ6eIn5bXY%2Bc2OQaMKVyQ7NRhJzOyHyVbSglqqwTyUcPp0oPYqQhOT3DESJSShwxFWebzFpEzNFv5c71od2NGkCfc5xa7vf1JQ%3D%3D&ctl00%24TB_rq=' +
time +
encodeURIComponent(time) +
// '2022-05-06' +
'&ctl00%24ksrldpl=0&ctl00%24ContentPlaceHolder1%24BT_search=%E6%9F%A5%E8%AF%A2&ctl00%24jxldpl=' +
encodeURIComponent(build) +
'&ctl00%24qsjdpl=' +
start +
encodeURIComponent(start) +
'&ctl00%24xz2=%3E%3D&__EVENTVALIDATION=wyhcJ8LnFmL42ro1rjoGj4rS980SzDv6iaam4t1p4s81qlZ85Br%2FY3mTZQgdT4QWC2QETO%2FuZ0d4tdcR69rIpbLGgLD4KSdvOVL%2FaRNhXIbAq3gt0PQNAv83u%2Bfzc2VgGgQi63rlHlKm4phfJa%2F0nrhH85nsENH69khqCR96zzgcpBChD3dXTrzaDb4quChDDJALkapb3e5iuCsj1iZRY3mWyZpVELZY4tjG2vSFs%2BoxKS1lp9suxiF7kuYCjjJzKPMXq%2Brb%2F%2FV1P1DHPcL24c6Ed14oUMNYhhbXGeKGzDZdhqVSYaC60VIHsEpzvJsMO3v%2FiKcX2Zxa%2BuDSIaLT5%2FZMyAPFm8RJsrIMpH%2Bxa7njld%2F01%2FdBGyj7oFSxCDJTXjUgeC9sYRQyXMzSh%2F9a79Jzg2o7962a6ilF%2BB9G0dbqlsAZgbnWH%2FpItfpQV9yx%2Fk%2F1abd88jjLBhuiKd1GzBY4oTonj6r54dA22uiaPUz1BpyBnY%2FQ5%2BuFo6k2E3JEGKjqFAd%2FKYX9lkg1rGByRBeMACrWtsjQD131ansTZO28eSy8W8CH6rnpLZ39eIaBpKi3jiv7DoBsXHnfaq12pGXD1MEXJL9tw8RMIdjEZ0sjA802VThINo4yN6nmQFY%2F0Czetc0ie%2FnkyuRAAZme1P64kj7ZkA%2FTLLPJYRnoq5Pi4qLq%2BRjurwmyFtetkMRilk36GbOKq1QpwQUVDFqNfAzDsJ2gjiiu%2FptM1qZi8uEjMNZh7SbA%2BCXHhTF268Pq4tHIi6UgqfxUfZEw3adIgD62NSI8pjS0uca9aa3NOSpBLmfYD%2BezEqtNVXZDt%2BrmKhsVNAY5hfYZxZ1kcFV98cLuccDolK5z5v1sgFgmaq%2BOoFYDxVgoEZO7SIze8g6hhIR4lV%2F68%2B%2BEkWyVufAS%2FIjwYzKOg1SqKvxW3v%2B2xs%2BoiMZcHhaGu9cEiS5B9%2FS7ME%2BGt%2FbZoi7dtRH1PmNBsr%2FlxMvJTvzR982sax0Of2DXIWEhlTjXyrcl6ByvTtOJ4Ks7%2F%2Bu6nE9GZil3xrwXkCcTEpFXBegVwzVJR4uiW2f3Q3FgC3HYucyl7RvdNheOQVcqUNAKuoI7uOnhOoZJAa8Ra%2F2kVeLytc58RllvZYZjWIe5YSM9YWACnE7P2TgpezUUUQjGsHqbo7nvyZaP3rxk0kwY7Xdrs%2FoP8GOJna0fL8tHVqaWG5BnzQhvSqxVK0b8S8rZepNDYi0g3D1hzPfUqpsPkTm3A8BrTOSY4u1hSuz0OlCVzEbHpdtEI0Bqde5xLiU39dQtnb0O24EZJt%2FbD4nt4fZcHQ4nFrkZuZykJ%2B5Q%2FN%2BiibZAn3SGUXPSkwVs%2FlKyjurX1SYH6MOod3gTNs%2FNSjHFEckwqd5qQ5bxjOCIA7sXZH6oAFFcL5twa072l4CNbTuHxobfBiudZ9B1LwFkJmOCpkhk5E0rYJ6Z8smCp89LpS2wSLM3mwD2wXL0iW8TRsT83pPGY3wfMAY9gJ6NEHVrj%2BXidHG0rX9sOtcMek6OGDm7WU0GDXEHktk6w9vvFBZqiZdo%2FGMcvXAwbqUsnoXpfqS3KW482I2ePFIwm%2BIWUE2iLAgslJe9jBlIe7%2FrYsmVcXA%2Fxvavg90QXl8DV936kGuZt2QMrlJFAsH39UxfQUHAxhdy5B10bdMXTDvpKaFetiObPRgGDARTT%2FRWS866c%2B1bXmV2FUmnijyzTPY5r7czVQTzuFZIZxZq0PjP%2F%2FwJkYsPaE2Hs2w6TFtNYWJZ6f%2F995rvet037xd0RIvP30APdz7EwwttHZOdYmRsvUA%2BE10%2Fz8sISFQDZlQxgblosecY1dcWhjQSskUAE0XHyeUt4kDzQyzqo%2FZFnbOz1Jdn%2BYpM48vGCvJYuvVrxEuf1PnXuUwQCJYHY8YZM3sdGbibqkNpsZDS11bxaz5vZAa12OQ%2B38roDkDV0vaY6zCd8hW%2FXUJEkOKZsaqlZnkwk98%2FU14ugXwu816J2m1Q58x2gjsQ%2FwTMkK%2FHD3kQqn8ecPW%2Fy7%2Fh7rFF8luyKLrKfVEQRtAuCiYQEFGL2WnxCl1xFFkuI7iYM3x9LE3ROvLzH8qE2%2FhpvjdKOm2%2F2uUeMUIxUMKUvX4pqFd%2Fzmdg8iOqau24SPApAGKOsb9xruloCve8FCbUGpURESvkQZDKyXSdGekm%2FzXu6UJdg6bj1EGdoELxQnLPlSdV5Fj95KO4F6%2F5I%2BmlTq3VdXgiVD9RlVG%2BAqfdLOgSk%2BqBLwWFOoidtEuJWa6qsAayBBaSxr%2FlHSKXsdaLxZsXokJvo2oC3YIugypTvbaSt6pkA1q27sRn2J6fc%2BeiR5%2FuHms4juR%2Fxa8eqNJNW2tm4fpLGI1nx6H4diZ84UQsz9MW7tymS%2F9%2BEB83XXmg4ZlL4hC4%2BxIi6P93NBuL4SUDFkyv4yJ7izDTQBTirc1J5pwTMFmLV4A7epzZAOcHTg45b%2FtInvNoRS6Aj4UnXj1x%2BkRp58jGK7QOjzI4wMPWGoggh6MXB7TPb6%2BH8vu%2BikmqFA7I6yjVtle8MDpa5A4LSyyBTFsPbUXP4fuzcJ4%2BuPP2A9an6A2i9cW3sL9AaO%2FxyV6PqnUPIWEYf6tO1rVASTpB1RyoJLZBNy8WvgLF4BbWqC3KmrZQhWiGD2DVeyz0FOXV1F4w37mHw7Oq8Jdhzlxs7q%2B6D8vZaxqh89ePi0FD7hkvwUwZN5S2E08hO2ZZam23DRR1KQ9KYbrPMQSZ4PNwcj6o29SwaqDWDrcyC9SsRSFQ%2FEUIea9bHnMEnhL3LBxjNyuKTiXEajlda2uXNobgngtwa91FGka63cxucZLXe1q39N9y2WrhYlu4wPH2wBiovTAtZwd650HQzx6NrwcU5qgaNeWAfKvn7UQpw8aRE0Doo9OGuOVHmaBWj2wuqs1fbIn6FjPl2lPCyNlOJZ5yp92HsJiESRc982qnUcJLuoeFSv229E6cNqqasuTOo9WBeQoWKi%2FHjvqQDP3q09Zl%2FF7I0ue1Z93emX%2F2qyKzfia%2Blyrb5TS3XR9O%2BigzNgxoQWIPULkRKLNQ54xuNl6ATZXCHzbQB9hqPaRBj7bsH402N8u9K9hQPrdTIASmyPNEZMZCquMBYUKWEq%2FupIGxhaLzbXGD4JHa6bpInFFGAq%2Bl%2B26M8ryFVtN%2BlydVQb9n5NVbPtf%2FwONb9M9mh7S3CaieJz0HGVur%2BbDl%2BLzFuV8f49LCbQJ8%2BCiPjTy2z34Q5rjOA2jpWTx7LWj8MzZ0MTwxOACPQb3xEvDZhoMLr0F00ucNvPDtuCpLyTM4eofLLFYOADzsZM3PEoxkaAvC300XX7b71VsVef97GsL8iclSiDVJBZ%2FnNsKF8sytvo7rAR5J8aDFdX6swM7pitMWA4U1FgZM31a%2F14GWXTy%2Fa1DzptFGKHBjOZlJX%2Fp%2FVepKyPOqDGzjJ36iGqcCQfH8kZUY6ghwJjaJ1ufJeeCteHJBbxwJTJBi20EpvbhG841kDnaJ2ldMKgyA4JFL7%2B41eqgw%2Fg4QihhTkJJ%2FvRPk4MUj2wVd5IXL0VsaIZs3R9Ui%2Fi30oM7CVmQqZNS6Q5QAT%2Fy6vFZAoNfsSzE2WKyGealVykcE%2FUTcME5o3FVKXqaOSe54MSKmBPJD8H1w%2F276%2BdzC%2FKwSThl1k9k75ZX8Wr4KLtwHjdtHqfN7CXfJeF66Kmyg%2BBzTV7KcCWmzz7IPryHbnw2ssJcWhfmhS%2BXn9xLiDjjJJuYf3kjHfNpKrHu3cFz0Va3FaEZ3IjBHG8zL%2FrgJ1O1IMzE2lTjwAl0jJ1uPU0X1YdHYfoC7EEcRbRSiKCUNypQiiYIb53JQG4gtXUxFxpYYGi5P3dkj9Gd0dTKmB3Fib4JkceFDsPp%2FimRBc%2FIK%2BBaNLCv4MeXr7s5LHFHrjuGezhHcf2vt2ANh5njW3E5kthYiXZ1erphXFTxZDYgvEqzE%2F8lKyc6y24DoePpefGijiO16C2w7pk0w1kROXJDdTrtDY%2BoGiMN%2FYfGQsEjscUaTn9FvpviVyltVFO%2FFZJ%2FYOU2x4yB9qYziRTXTwNNR4TlpZPmvnPC4Ns965ZfTLzRGAJ%2FhBSZDh3GqP91ovYLD2Ck3xT3oBZZcJR9UwwMYExH60S7%2F7uozEZ3tyot2n98GUYj2XGTGPEq4dehCwy%2F%2FdD31LmL%2BGdhBEKURT%2BzX%2BhrL7OSrO4Ow%2BS0vI%2Bnq54G%2BHxLlOZzpCHnUabusOltPaMK1W6gwLHQRwJTl2sRjpfVyQUlWhBtcTxfTYH0xh0cO9oD0jgSFO%2BUIJPQ3gxzVBOJX5Ig2yQyyl1q9mZsvOTx62Y4YrPSoB%2FPYZi%2B3FBL6pSjgxUgs61ZuUv1e51E%2BfZfK28QC5d9IFC6SvhxujYyhXAkohAgGRA4%2FmdYxAjJG%2FSA2JRIu0MS5hyvhrKBXqQ9aBZqpfw543wfB5%2FPC4oXVUFtfSkWEiDiVL%2BBgeU8T4ojkkhiG1%2FnADcDFy347YkVNpjLoW%2FQ7z%2FO%2F1Zog4zMsXWsDKqfE9hXP%2BAIoi1QOKATExz9ZDYucupidLjBphnojms4zfyZX6KclxWOzZ5QnizZpQ3oldhi9h4wRgNNTn2nyd9WyaYnR8NTZIcjMNvcKhYRxMF3qcijbOv3UG2bKww2icIvBITmFFIWHc22iOXaki9xTI68wBvV1qSJveG7OB7Attn5RXA3J6MOvPSFkYVI4Re9F4srwZoLa21F8d10iUuQn02QN0hp%2B0JyH4xbnBwRtyRpQbS7gecOjwxWgh2zq7FyKU430%2BIeQd1Mg3yDu6tUXDecgIuMspRrUoUz4x3souoJZePK684%2BunkK%2FAtg5biBZXkoJs5twoN4O8vIjEg5vNQuCEsNrcCIuOTVAvl6P%2FhcLVhTA%2BrepnE1Dtt0ZgajZH%2FaMyEv9%2Fge0%2B%2F3oVhiQp%2FAoZHyEqopkM1z7oGacobvvgYSd29BVlPuzzLEbXsv0Q7qzKzHWRBOylRThatjy5Sz%2FTJ17dGEGj%2Bu%2Bg3k9WYrT4UsbSd6bHE42Ztj7oUmruxXrZRZ50mwGcqPnGIPNb0AXiP9nDmh6wiZkJ9T5IyZFR2UCKUlC71DDcvxGC6mqWQqIe8kLmD0NyQYh4EW%2FQe2Lr1nA74OOcJgXx%2FFS0kQq9bFjT5b6Lzt8iJL%2BGh65U704vrdMMK1A%2FTaQuqmZHoULigYxg7sVNoEsm5nobT2MGb5JhbJIExbagvfj8V2kUbCilU%2BuLBcwrxZGSY8XUtdo57zMnw8VNP4uZ%2Fk0hrV%2BUNeJL504jIBmXNUG4OgzoMI%2B0Ak3N6qVLa5lJJSt5%2BcbIVmRsCYlJyIzCtixss9%2BF57kFsX7nkpu3r0y4awhw8wkpyB4lXKxcvAEAlS%2FAydqzqXy6lT5wsNeaXx6lutWi3o9YWgBXVB14xu2bhVlZl5bbtymwO6lvQb2IirVaG5ClcfyjubJmiSfzlP%2Bt2T01fg6o0UjoE9jL%2FSMvXh2xyCw23MOy8rsM0Fd4RkR4lRN%2Bbq5W6KDy2XC%2FjtWbldQUKdd34GPZQ%2BRPU52muyWhDPsQ6AnJXGTKqL%2FrUyPELfASB9srk0Vcq1NTTyVcysXIxi8ZghEE8jgbVYJS7udqNqyrNUbNDYLPEP%2F5FTw%2BD6EXDaUAlVWGK4YbfNrrZkwAQf5UyDs%2FIgfeamKJO1qrYSpZWXO1uPeEP91LvnufvRSvaQEgMe21D5rAqnSrcQlDRYk22Nwo%2FqKg2L2WtNvkRtlMPm7794xgtau8FtzM3rdoEnmH%2FKUtLgHQzjVVhPW6oVH39xvi%2FEWJ7%2FMxpAX6mPcq%2BiQsInED0WEgUAXQMdLKl6HgBOcw3diuT4W27Zx3NPpAQIPm0rWG5cuVmRXNXWf4pBdPQUY1ZsPptSGQT0mbHyqOPbi268zpQ6drJQor8o4W7TjF93JiUztIOIEH6SWTVVmIHU%2B02f2IfA4Jkv3XTPyWv218xeMb00aM1WDVWx79PUKf%2FgNyotMoaJp3PO9vOfvKNE6IHzCPgiJJrWW43FaHjvGp5kVdJ9YfPQNPfJTeaNRje%2Fpg7XDeN%2Fvvc%2BrLazMhaHH7SlI6boNKgvQ%2FwRIgRCk%2Bl1RQUbNPL6ZXXngBNO11Jd746gYk24lT8fOj4OUm0gLmIg79SFV2xMZzrXKDuZB8UhIfiCqPNYg%2FYW7zkn%2BrzPBghifbwGBBD3xgU6P32dNdW0jXlyB2FmN9kCKuRh9Ez%2FtoLd4X2IWmJcVPOIhlj73iaa1CaV3HIGrh3f6HV8ssBKo%2Fw9QWMqdLyxXNW1fizPOKgUuQG7Tx8peSNwKmlAw2jmwCFhd9e1nyJNc7w6bClmoyIy2ROH%2FT7Q1s5%2B9DT7Hn%2F%2FvN2GF5J1iDNnhGkTnYDBlf9HmOf1r3wake13j%2B0YeZXLRmMqXXNC8BU5rAVFYXJBChMdzbhEA8R1gXln6bcW%2FvJV8U1jJMOZgCC%2FSQCZAISeRKPZqgOyLHV8%2Fowrp7hEXbkS4YyC6BeSI3VsyNmgMw29KVlomZNCopzawwYt1kQxNg2BWYtqOKlizU2HTbXYBqmgTOD8LrcId7cAG%2BmCOiH3AB8mYm2LqqmnOnfUYd5lVBX8EXfx7mr9QziCGYtFKAr5EiWlLvruhWvfyOFegCc5AaH0Ana5IreIoq62P%2BxB5oUq053I6bzXmtAqnrPpf2LHZ7BUjQ3ZsLzvUQTjwDHQFlWbu386XcA9NWpswi0%2BchZg2B4m7J6bVlLVd9WB7Qpehz1R1Umq%2BBVf2zhr12%2FF1xFX4YZFF%2B80D%2FR2eDRPVig5HV%2BpHvuyic1OivnaM5f7JAsJK30XWvrOUbgOCUzlqRsW7ocqKG0Yyqm7Quo3XaNduNaVkK3kde5yacpUqBqOtwrEyV%2Bk2uEmkvwT%2FlSAI08GRE1kS8PfxLj2DTM%2FZ7ZmDSYWmQHqqyrWiOGxemDSDBBFsMJ2J4ts5dtvEoL4TEpq79fjzlxtlcRHQASxo0hLypBfBJRHyJp7MxPON8cxA7yvFX43JthbvmZ67vOUmSnI%2BjeyRVFDzeGoFR62jfrhvUpy5NH3aQba5bcmD1lUFr74bQelrcFP%2FEHihhf8ELCMGdyYUbTxRxdtdWdiMbPQ8vOKPvZWUkhD2XXLFdUFTD3X8V3kjWPyGiBGS81BLoqGmMC7ebQ23hVahEkwMSz75GUy%2Bnv7%2FzTAsf8AgySKb807PG%2FsUBgBxh7SIyhfnnGyi589%2BZHwmCCZjQXXMf8znMieSMCD6WFmjonLKgNOOON5JRbfaGQt3vZHopt%2FaWeunUAITO%2BlY9htLWqh0jiAkYNhLLv0s%2BmPclurOsflzDsFAcqRFsO9B1qtEiK%2BzNRPDJzwS6knZpg%3D%3D&ctl00%24xqdpl=%E6%97%97%E5%B1%B1%E6%A0%A1%E5%8C%BA';
return fetch(url, {
method: 'POST',
body: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
Host: 'jwcjwxt2.fzu.edu.cn:81',
Connection: 'Keep-Alive',
'Accept-Encoding': 'gzip',
'User-Agent': 'okhttp/4.9.0',
// Host: 'jwcjwxt2.fzu.edu.cn:81',
// Connection: 'keep-alive',
// Accept: "*/*",
// 'Accept-Encoding': 'gzip,deflate',
// 'User-Agent': 'okhttp/4.9.2',
},
});
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册