Отправка и получение файла XML с клиента на сервер с использованием колбы Python - PullRequest
0 голосов
/ 08 июня 2018

Мне нужно отправить и получить файл XML, хранящийся на клиентском компьютере, на флеш-сервер.Я могу сделать то же самое для файла JSON, используя запросы, но то же самое не происходит с XML.

Это мой код на стороне сервера

app = Flask(__name__)
api = Api(app)
app.config["DEBUG"] = True


@app.route('/',methods=['GET','POST'])
def home():
    print ("************SERVER CALLED ***********")
    req_data= request.get(silent=True)

app.run(host='192.168.37.129')

, а это код клиента

getlatestfile = os.getcwd()+fileseparator+"MSF"
getlatestfile=getlatestfile+fileseparator+"*.xml"
list_of_files = glob.glob(getlatestfile)
if list_of_files:
    msfFile = max(list_of_files, key=os.path.getctime)
    print ("[+] Sending latest MSF file which is..."+msfFile)
    with open(msfFile) as xml:

        response = requests.post('http://192.168.37.129:5000/', data=open(msfFile).read())
        print ('response from server:',response.text)

        #k=response.text
        #print(res1.content);
        print("[+] Received response from server...Intiating run of commands as directed by server \n")


else:
    print("No Result file present in the XML directory location/file could be corrupted.")

Я получаю следующую ошибку на моем сервере и хосте соответственно

AttributeError: 'Request' object has no attribute 'get'

client

File "test.py", line 26, in <module>
    response = requests.post('http://192.168.37.129:5000/', data=open(msfFile).read())
  File "/usr/lib/python2.7/dist-packages/requests/api.py", line 112, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 490, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(32, 'Broken pipe'))

Любая помощь будет высоко оценена

1 Ответ

0 голосов
/ 08 июня 2018

попробуйте сопоставить номера портов для клиента и сервера.Кроме того, вместо записи

req_data= request.get(silent=True) 

введите

return jsonify(request.json)

и измените

response = requests.post('http://192.168.37.129:5000/', data=open(msfFile).read())

на

response = requests.post('http://192.168.37.129:5000/', json=data)    
...