decoder已不再使用
This commit is contained in:
parent
cf4a6e2854
commit
3e500afd15
@ -1,11 +0,0 @@
|
||||
FROM python:3.8.2-slim
|
||||
ENV TZ Asia/Shanghai
|
||||
ENV PATH /usr/local/bin:$PATH
|
||||
WORKDIR /usr/local
|
||||
RUN mkdir shipxy
|
||||
COPY ./requirements.txt .
|
||||
COPY shipxy ./shipxy
|
||||
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple && cd shipxy && tar -zxvf static.tar.gz
|
||||
EXPOSE 5000
|
||||
WORKDIR /usr/local/shipxy
|
||||
ENTRYPOINT [ "sh", "start.sh" ]
|
||||
@ -1,3 +0,0 @@
|
||||
selenium~=3.141.0
|
||||
Flask~=2.2.3
|
||||
urllib3~=1.25.8
|
||||
@ -1,86 +0,0 @@
|
||||
import selenium
|
||||
from flask import Flask, render_template, request
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
|
||||
from selenium.webdriver.firefox.options import Options
|
||||
|
||||
driver_options = Options()
|
||||
driver_options.add_argument('--headless')
|
||||
driver_options.add_argument('--no-sandbox')
|
||||
browser = selenium.webdriver.remote.webdriver.WebDriver(command_executor="http://172.18.0.2:4444",
|
||||
desired_capabilities=DesiredCapabilities.EDGE,
|
||||
options=driver_options)
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def hello_world():
|
||||
return 'shipxy decoder'
|
||||
|
||||
|
||||
@app.route('/decode')
|
||||
def decode():
|
||||
return render_template('./templates/decode.html')
|
||||
|
||||
|
||||
@app.route('/api/decode', methods=['post'])
|
||||
def decodeApi():
|
||||
try:
|
||||
# 注意!这里 get 的 url 只能以最终部署在容器内部的容器内 IP 作为域名,否则模拟浏览器无法获知页面内容。
|
||||
# 这主要是因为本工程在部署时与模拟浏览器分处不同的容器中,因此只能将本工程容器和模拟浏览器的容器创建在同一个 docker network 下
|
||||
browser.get('http://172.18.0.2:5000/decode')
|
||||
except:
|
||||
try:
|
||||
browser.start_session(capabilities=DesiredCapabilities.EDGE)
|
||||
browser.get('http://172.18.0.2:5000/decode')
|
||||
except:
|
||||
return '500'
|
||||
data = request.get_data()
|
||||
# inputEle.send_keys(bytes.decode(data))
|
||||
js = 'var txt = document.getElementById("encode");txt.value="%s";' % bytes.decode(data)
|
||||
browser.execute_script(js)
|
||||
button = browser.find_element_by_id('decode')
|
||||
button.click()
|
||||
inputEle = browser.find_element_by_id('encode')
|
||||
text = inputEle.get_attribute('value')
|
||||
# browser.close()
|
||||
return text
|
||||
|
||||
|
||||
@app.route('/decode_track')
|
||||
def decode_track():
|
||||
return render_template('./templates/decode_track.html')
|
||||
|
||||
|
||||
@app.route('/api/decode_track', methods=['post'])
|
||||
def decodeTrackApi():
|
||||
try:
|
||||
browser.get('http://172.18.0.2:5000/decode_track')
|
||||
except:
|
||||
try:
|
||||
browser.start_session(capabilities=DesiredCapabilities.EDGE)
|
||||
browser.get('http://172.18.0.2:5000/decode')
|
||||
except:
|
||||
return '500'
|
||||
data = request.get_data()
|
||||
# inputEle.send_keys(bytes.decode(data))
|
||||
js = 'var txt = document.getElementById("encode");txt.value="%s";' % bytes.decode(data)
|
||||
browser.execute_script(js)
|
||||
button = browser.find_element_by_id('decode')
|
||||
button.click()
|
||||
inputEle = browser.find_element_by_id('encode')
|
||||
text = inputEle.get_attribute('value')
|
||||
# browser.close()
|
||||
return text
|
||||
|
||||
|
||||
@app.route('/api/getvalue')
|
||||
def decodeApi2():
|
||||
inputEle = browser.find_element_by_id('encode')
|
||||
text = inputEle.text
|
||||
return text
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=5000)
|
||||
@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
python server.py
|
||||
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a47344e460415d23794fcf429f544d8409c3bfdb2ac660541757783953b89427
|
||||
size 1124476
|
||||
@ -1,19 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<script src="{{url_for('static',filename='jquery-1.8.2.min.js')}}"></script>
|
||||
<script src="{{url_for('static',filename='ElaneMap.min.f.js')}}"></script>
|
||||
</head>
|
||||
<body>
|
||||
<input type="text" id="encode">
|
||||
<input type="button" value="decode" id="decode" onclick="decode()">
|
||||
<script>
|
||||
function decode(){
|
||||
var encodeContent = document.getElementById('encode').value;
|
||||
// var temp = ShipxyAPI._0x44f5d9;//['_requestAreaShips_v3'];
|
||||
var result = dedecode(encodeContent,"1");
|
||||
document.getElementById('encode').value = JSON.stringify(result.data);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,20 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<script src="{{url_for('static',filename='jquery-1.8.2.min.js')}}"></script>
|
||||
<script src="{{url_for('static',filename='ElaneMap.min.f.js')}}"></script>
|
||||
<script src="{{url_for('static',filename='DeAnalyseManager.js')}}"></script>
|
||||
</head>
|
||||
<body>
|
||||
<input type="text" id="encode">
|
||||
<input type="button" value="decode" id="decode" onclick="decode_track()">
|
||||
<script>
|
||||
function decode_track(){
|
||||
var encodeContent = document.getElementById('encode').value;
|
||||
// var temp = ShipxyAPI._0x44f5d9;//['_requestAreaShips_v3'];
|
||||
var result = analyseAisTrack(encodeContent);
|
||||
document.getElementById('encode').value = JSON.stringify(result.data);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
x
Reference in New Issue
Block a user