由于我是POST / GET HTTP的新手,所以我可能出错了,这就是为什么我要用两种方式提出问题。也许一种方法会比另一种更好:)
我正在使用PyTelegramBotAPI开发Telegram Bot,它需要包括在线支付。 对于在线支付,我需要用户遵循POST方法链接(这是一个外部链接+我需要传递表单数据),但这就是给我造成麻烦的原因。
我。
在我的代码中,我执行以下操作:
req = requests.post(url=url, data=data)
其中url是必须将客户端重定向到的网站的URL,数据是重定向时需要随POST请求传递的数据。
它可以在Python中作为请求很好地工作,但显然不能将客户端重定向到所需的网站。
我尝试生成一个URL并使用
将其传递给客户端url = url + urlencode(data=data)
其中url还是网站的URL。但是在这种情况下,网站告诉我所使用的方法不正确。我猜链接变成了GET请求,而不是POST请求。
如何使用POST方法将客户端重定向到该链接?
II。
提出这个问题的另一种方法是:
处理在线支付的公司要求使用以下HTML表单进行支付:
<form action=”https://securesandbox.webpay.by/” method="post">
<input type=”hidden” name=”*scart” >
<input type=”hidden” name=”wsb_storeid” value=”11111111”>
<input type=”hidden” name=”wsb_order_num” value=”ORDER-12345678”>
<input type=”hidden” name=”wsb_currency_id” value=”BYN”>
<input type=”hidden” name=”wsb_version” value=”2”>
<input type=”hidden” name=”wsb_seed” value=”1242649174”>
<input type=”hidden” name=”wsb_signature” value=”124264917411111111ORDER-123456781BYN10123456”>
<input type=”hidden” name=”wsb_test” value=”1”>
<input type=”hidden” name=”wsb_invoice_item_name[0]” value=”Товар 1”>
<input type=”hidden” name=”wsb_invoice_item_quantity[0]” value=”2”>
<input type=”hidden” name=”wsb_invoice_item_price[0]” value=”10”>
<input type=”hidden” name=”wsb_total” value=”10”>
<input type="submit" value="Купить">
</form>
如果我使用HTML页面,这将很好地工作,但是由于我的Web应用程序是Telegram Bot,因此这是行不通的。因此,我需要使用Python自动生成此HTML表单(即,我需要为每次付款更改“值”字段)。
如何在电报Bot中模仿此HTML表单并在触发后重定向客户端?