플라스크에서 서버 측 폼 작업을 에뮬레이트하려고합니다. 나는 포스트 조치를하고 lib에는 요청을 사용하여 축복하는 :플라스크 서버 측 폼 POST
@flask_app.route('/hello',methods=['GET','POST'])
def hello():
r = requests.post(
"https://somesite.hello"
, data= {'user': 'bill','pass': 123})
return r.text
#return redirect("https://somesite.hello")
그리고 일입니다. 그러나 html로 실제 형식을 게시 할 때도 리디렉션을 수행합니다. # 1 URL은 http://mysite.hello:5000/hello이 될 것입니다.하지만 # 1에서 콘스탄트가 필요하지만 # 2에서 URL이 필요합니다. https://somesite.hello 동시에 1과 2를 수행하는 방법은 무엇입니까? 고맙습니다!
UPD : 나는 몇 가지 해결책을 발견
, 난 정말, 그것은 같은 사용자가 두 번째 페이지의 "결제 페이지로 재 지정"을 참조되기 때문에. 누군가가 요청을하고 리디렉션하여 결과를 얻는 방법을 알고있을 수 있습니까?
@flask_app.route('/hello',methods=['GET','POST'])
def hello():
url = "https://somesite.hello"
return flask_app.make_response("""
<html>
<body onload='document.forms[0].submit()'>
Redirecting to billing page...
<form action='%s' method='post'>
<input type='hidden' name='user' value='%s'>
<input type='hidden' name='pass' value='%s'>
</form>
</body>
</html>
"""%(url
,'bill'
,123))
이것은 도움이 될 수 있습니다 : http://stackoverflow.com/questions/17057191/flask-redirect-while-passing-arguments – azalea
그러면 r.text를 어떻게 사용할 것입니까? – azalea
플라스크 앱이 청구 사이트와 통신 중입니다. 주문을하려면 firts html 양식을 일부 데이터 (shop_id, pass_id, 기호)로 만들어야하고, 제출 버튼을 누르면 (이는 플라스크로 수행하려고하는 게시 조치입니다) 리디렉션은 초 양식에 일어났습니다. 카드 정보를 작성하고 지불하도록 제출할 수 있습니다. 나는 단 한 걸음만으로 그것을 시도한다. 이 r.text는 청구 사이트의 두 번째 양식이지만 windows.location은 내 사이트입니다. 나는 창문을 바꿀 줄을 모른다. 플라스크로 위치를 바꾼다. jscript의 유일한 방법 은요? –