How to send data using the request module to the flash drive app?

I am trying to develop a small tiny application using a flask and a requests module. I tried to post some data to a flash web app. But I am stuck with this error.

flask.py

@app.route('/add/', methods=['POST'])
def add_paths():
    paths = request.form['paths']
    tags = 'others'
    for path in paths:
        g.db.execute('insert into entries (path, tags) values(?, ?)',
            [path, tags])
        g.db.commit()
    message = 'New paths are posted'
    return jsonify(result = message)

      

command line file to send data

import json
import glob2
import requests

list = glob2.glob('/home/sheeshmohsin/*/**')
post_data = {'paths' : list }
headers = {'content-type': 'application/json'}
post_response = requests.post(url='http://localhost:9696/add/', data=json.dumps(post_data), headers=headers)
print post_response
print post_response.text

      

And I am getting error: -

File "commandline.py", line 8, in <module>
    post_response = requests.post(url='http://127.0.0.1:9696/add/', data=json.dumps(post_data), headers=headers)
File "/usr/lib/python2.7/site-packages/requests/api.py", line 88, in post
    return request('post', url, data=data, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 335, in request
    resp = self.send(prep, **send_kwargs)
File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 438, in send
    r = adapter.send(request, **kwargs)
File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 327, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=9696): Max retries exceeded with url: /add/ (Caused by <class 'socket.error'>: [Errno 111] Connection refused)

      

+3


source to share


1 answer


A rejected connection error message indicates that it could be your firewall or loopback:



  • Make sure the firewall is not blocking port 9696.
  • I had a loopback (127.0.0.1) causing similar problems, so replace localhost

    with the actual IP so Python doesn't use the loopback ( requests.post(url='http://localhost:9696/add/',...

    ) interface . You may need to do the same with Flask ( app..run(host='192.168...', port=9696)

    ).
0


source







All Articles