如何将数据发布到远程服务器并显示结果

时间:2012-02-10 10:47:31

标签: django django-views

我想从我的django应用程序向付款服务提交一些帖子请求。 是否有一种简单的方法可以在视图中执行此操作然后显示 远程服务而不是我自己的视图(某些被重定向到远程 包含帖子数据的页面)

目前我正在搞乱一些显示隐藏形式的奇怪方法 ovveridng它的javascript提交调用实现我自己的一些东西,但我想 它过于复杂。

我需要这样的东西:

def view(request, **kwargs):
    do_my_own_business()

    post_data = create_post_dada(**kwargs)

    return post_remote_page("https://example.com", post_data)

1 个答案:

答案 0 :(得分:3)

您可以使用python的urllib2向第三方网站发出请求。这实际上是通过代码 - here's a good tutorial来传达您或我访问网站的方式。

如果您想让生活更轻松,可以在urllib2上构建一些库,这样可以更轻松地完成这些外部请求 - 即requestsmechanize。如果您来自PHP背景,您还可以使用pyCurl(不基于urllib2)

请确保您使用的付款服务没有自己的API或库,而不是您可以使用它,因为这比上面的方法更容易和更安全,这主要是屏幕抓取。

此外,请注意,对于您的用户向服务器发出的每个请求,您的服务器都需要进入其他外部服务器,这意味着您可能会超时等,从而在管理连接时引入另一层复杂性。