gpt4 book ai didi

android - Rackspace CloudFiles HTTP 临时 URL(非 HTTPS)

转载 作者:行者123 更新时间:2023-11-30 02:50:51 25 4
gpt4 key购买 nike

我有一个允许用户上传音频和视频的 Rails 应用程序。然后将音频和视频传送到我们的 HTML5 应用程序。我们正在使用机架空间 CloudFiles(私有(private))来存储所有文件,并且一切正常。

问题是试图将视频提供给 Android 用户(Android 不喜欢播放 HTTPS 媒体文件)。

为了解决这个问题,我正在寻找一种方法来创建没有 HTTPS 链接的临时 url。

如有任何帮助,我们将不胜感激。

谢谢。

require "openssl"

cloudfiles_folder = FOLDER_NAME
url_string = ASSET_URL_STRING_FROM_PAPERCLIP

method = "GET"
base_url, object_path = ("http://storage101.ord1.clouddrive.com/v1/MossoCloudFS_HIDING_REST_OF_URL/"+cloudfiles_folder+"/"+url_string ).split(/\/v1\//)

object_path = "/v1/" + object_path
seconds = 1200
expires = (Time.now + seconds).to_i
hmac_body = "#{method}\n#{expires}\n#{object_path}"
sig = OpenSSL::HMAC.hexdigest("sha1", ENV["RACKSPACE_TEMP_URL_KEY"], hmac_body)

puts ("#{base_url}#{object_path}?" + "temp_url_sig=#{sig}&temp_url_expires=#{expires}")

最佳答案

答案看似简单:只需使用 HTTP。

Tempurl 请求 are not signed with the protocol ——只有请求类型、到期时间和对象路径。对 HTTPS 有效的 token 对 HTTP 同样有效。

如果您正在使用雾,您可以通过将实例方案设置为 HTTP 或在您的选项散列中传递 scheme: 'http' 来轻松地做到这一点。

关于android - Rackspace CloudFiles HTTP 临时 URL(非 HTTPS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24210359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com