Tengo un punto final en mi API como a continuación:
from flask import Flask app = Flask(__name__) @app.route('/price/<path:url>/') def Ex(url): return {'urlwas':url} app.run()
El problema es que cuando llamo a la API con este http://127.0.0.1:5000/price/https://puresourceindia.in/store/index.php/?route=product/product&product_id=479
debería devolver este {"urlwas":"https://puresourceindia.in/store/index.php/?route=product/product&product_id=479"}
pero devuelve {"urlwas":"https://puresourceindia.in/store/index.php"}
No puedo entender lo que está sucediendo aquí y cómo abordar esta situación.
Tienes que codificar la URL del parámetro, la llamada debería convertirse en:
http://127.0.0.1:5000/price/https%3A%2F%2Fpuresourceindia.in%2Fstore%2Findex.php%2F%3Froute%3Dproduct%2Fproduct%26product_id%3D479
y el resultado entonces se convierte en el esperado:
{"urlwas":"https://puresourceindia.in/store/index.php/?route=product/product&product_id=479"}
Vea aquí cómo codificar la URL de su cadena: https://www.urlencoder.org/