I was programming myself a pretty nice api to get some json data from my gameserver to my webspace using json,
but everytime i am sending a request using angular i am getting this: 127.0.0.1 - - [20/Mar/2018 17:07:33] code 400, message Bad request version ("▒\x9c▒▒{▒'\x12\x99▒▒▒\xadH\x00\x00\x14▒+▒/▒,▒0▒\x13▒\x14\x00/\x005\x00") 127.0.0.1 - - [20/Mar/2018 17:07:33] "▒\x9dtTc▒\x93▒4▒M▒▒▒▒▒\x9c▒▒{▒'\x99▒▒▒▒H▒+▒/▒,▒0▒▒/5" HTTPStatus.BAD_REQUEST - 127.0.0.1 - - [20/Mar/2018 17:07:33] code 400, message Bad request syntax ('\x16\x03\x01\x00▒\x01\x00\x00\x9d\x03\x03▒k,&▒▒ua\x8c\x82\x17\x05▒QwQ$▒0▒▒\x9f▒B1\x98\x19W▒▒▒▒\x00\x00\x14▒+▒/▒,▒0▒\x13▒\x14\x00/\x005\x00') 127.0.0.1 - - [20/Mar/2018 17:07:33] "▒\x9d▒k,&▒▒ua\x8c\x82▒QwQ$▒0▒▒\x9f▒B1\x98W▒▒▒▒▒+▒/▒,▒0▒▒/5" HTTPStatus.BAD_REQUEST - 127.0.0.1 - - [20/Mar/2018 17:07:33] code 400, message Bad request syntax ('\x16\x03\x01\x00▒\x01\x00\x00▒\x03\x03)▒▒\x1e\xa0▒\t\r\x14g%▒▒\x17▒▒\x80\x8d}▒F▒▒\x08U▒ġ▒▒\x06▒\x00\x00\x1c▒+▒/▒,▒0▒') g%▒▒▒▒\x80\x8d}▒F▒U▒ġ▒▒▒▒+▒/▒,▒0▒" HTTPStatus.BAD_REQUEST -
My api
from flask import Flask, jsonify from flaskext.mysql import MySQL from flask_cors import CORS, cross_origin app = Flask(__name__) CORS(app) app.config['CORS_HEADERS'] = 'Content-Type' cors = CORS(app, resources={r"/punishments": {"origins": "http://localhost:5000" "*"}}) mysql = MySQL() # MySQL configurations app.config['MYSQL_DATABASE_USER'] = 'test' app.config['MYSQL_DATABASE_PASSWORD'] = 'Biologie1' app.config['MYSQL_DATABASE_DB'] = 'test' app.config['MYSQL_DATABASE_HOST'] = 'localhost' mysql.init_app(app) @app.route('/punishments', methods=['GET']) @cross_origin(origin='localhost:5000',headers=['Content- Type','Authorization']) def get(): cur = mysql.connect().cursor() cur.execute('''select * from test.punishments''') r = [dict((cur.description[i][0], value) for i, value in enumerate(row)) for row in cur.fetchall()] return jsonify({'punishments' : r}) if __name__ == '__main__': app.run()
My client function
export class ApiUserService { private _postsURL = "https://localhost:5000/punishments"; constructor(private http: HttpClient) { } getPosts(): Observable<Punishments[]> { let headers = new HttpHeaders(); headers = headers.set('Content-Type', 'application/json; charset=utf-8'); return this.http .get(this._postsURL,{ headers: {'Content-Type':'application/json; charset=utf-8'} }) .map((response: Response) => { return <Punishments[]>response.json(); }) .catch(this.handleError); } private handleError(error: Response) { return Observable.throw(error.statusText); } }
Flask has different decorators to handle http requests. Http protocol is the basis for data communication in the World Wide Web. Used to send HTML form data to the server. The data received by the POST method is not cached by the server.
Flask uses the term context local for this. Flask automatically pushes a request context when handling a request. View functions, error handlers, and other functions that run during a request will have access to the request proxy, which points to the request object for the current request.
Flask will process one request per thread at the same time. If you have 2 processes with 4 threads each, that's 8 concurrent requests.
I had the same error as yours.
My flask server was installed inside respberry-pi
and I was trying to access it using https://ip:5000
.
The problem was I was using https
instead of http
.
When I changed it to http://ip:5000
, it worked.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With