Напишите простой сервер python сервера, прослушивающий порт (скажем, 8080), привяжите порт -p 8080: 8080 с контейнером, сделайте HTTP-запрос на localhost: 8080, чтобы спросить, на сервере python запущены сценарии оболочки с помощью popen, запустите завиток или код записи, чтобы сделать запрос HTTP curl -d '{"foo": "bar"}' localhost: 8080
#!/usr/bin/python
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
import subprocess
import json
PORT_NUMBER = 8080
# This class will handles any incoming request from
# the browser
class myHandler(BaseHTTPRequestHandler):
def do_POST(self):
content_len = int(self.headers.getheader('content-length'))
post_body = self.rfile.read(content_len)
self.send_response(200)
self.end_headers()
data = json.loads(post_body)
// Use the post data
cmd = "your shell cmd"
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
p_status = p.wait()
(output, err) = p.communicate()
print "Command output : ", output
print "Command exit status/return code : ", p_status
self.wfile.write(cmd + "\n")
return
try:
# Create a web server and define the handler to manage the
# incoming request
server = HTTPServer(('', PORT_NUMBER), myHandler)
print 'Started httpserver on port ' , PORT_NUMBER
# Wait forever for incoming http requests
server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down the web server'
server.socket.close()
На основе этот отчет об ошибках и это , ТАКИМ ОБРАЗОМ, вопрос, который я предполагаю, нет никакого поддерживаемого способа сделать этот банкомат.
РЕДАКТИРОВАНИЕ: Chris упомянул WiFinder, который предложил мне делать немного больше рытья. По словам автора WiFinder блог он использовал методы от частного Apple80211.framework. (Платформа, упомянутая в вышеупомянутом, связанном ТАК вопрос.), По-видимому, Apple больше не будет позволять эти частные вызовы API в приложениях, который препятствует тому, чтобы он обновил WiFinder.
, Но, если Вы хотите использовать их так или иначе, некоторые добрые люди отправили список обнаруженных функций Apple80211 к код Google .
Это похоже Apple80211GetInfoCopy
, мог бы добиться цели.
Приложение для iPhone WiFinder делает это так или иначе...