通过客户端重定向Python(Flask)请求
我一直在尝试做一件我认为应该很简单的事情。情况是这样的:客户端向我的网络服务器请求一个资源。我的flask应用处理这个请求,并确定这个资源实际上在另一个网络服务器上的某个位置,客户端应该去请求那个服务器。
我知道可以使用重定向功能来告诉客户端去发送请求到那个远程位置,但我的问题是,那个远程位置是亚马逊的Glacier服务器。这些服务器要求请求必须以特定的方式发送,并且需要一个特殊的签名(详细信息可以查看这个链接)。我的flask应用知道如何按照要求的方式发出这些请求。我基本上想知道,是否可以给我的客户端发送一个响应,告诉他们发送这个请求(由我的应用生成,并包含所有必要的签名)到亚马逊服务器?
有没有什么想法?
2 个回答
0
根据我所知道的,你不能要求客户端在HTTP重定向的URL中发送特定的头信息。
从服务器端直接访问Glacier的URL是最简单的办法。如果在客户端使用JavaScript,只有当Glacier支持CORS(跨域资源共享)时,这种方法才有效。
1
如果请求可以用GET参数来编码,比如说:
http://www.redirecturl.com/?param1=bla¶m2=blub
那么应该没有问题。只需要把请求构建成一个字符串,然后把它传递给 redirect() 函数就可以了。