我在我的 ruby (Sintra) 应用程序中使用 curl 制作了一个方便的小链接扩展器。
def curbexpand(link)
result = Curl::Easy.new(link)
begin
result.headers["User-Agent"] = "..."
result.verbose = true
result.follow_location = true
result.max_redirects = 3
result.connect_timeout = 5
result.perform
return result.last_effective_url # Returns the final destination URL after x redirects...
rescue
return link
puts "XXXXXXXXXXXXXXXXXXX Error parsing link XXXXXXXXXXXXXXXXXXXXXXXXXXX"
end
end
我遇到的问题是一些天才正在使用 URL 缩短器来链接到 .exe 和 .dmg,这很好,但看起来我上面的 curl 脚本正在等待返回完整响应(即它可能是一个 1GB 文件! ) 在返回 url 之前。我不想使用第三方链接扩展器 API,因为我有大量链接要扩展。
任何人都知道我可以如何调整遏制以找到网址而不是等待完整的回复?