我在2个情况下在应用程序中使用了Bitly URL。在一种情况下,我通过jQuery使用它为:
function get_short_url(long_url, login, api_key, func)
{
$.getJSON(
"http://api.bitly.com/v3/shorten?callback=?",
{
"format": "json",
"apiKey": api_key,
"login": login,
"longUrl": long_url
},
function(response)
{
func(response.data.url);
}
);
}
,在其他情况下,我使用的是1.0.2版的Bitly Gem。为此,我正在添加
查看:
<%= f.input :link_placeholder, :as => :text, :label => false, :input_html => { :id => 'copy_link', :class => '', :value => "#{get_bitly_url(user_report_url(@user, @report))}", :rows => 2, :cols => 30, :maxlength => 490} %>
控制器:
def show
@report = Report.find(params[:id])
@bitly_url = get_bitly_url("#{user_reports_url}/#{@report.id}")
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @report }
end
end
def get_bitly_url(url)
if Rails.env.development?
return url
else
bitly = Bitly.new('myapp', 'R_e2pd1dca0442a20a2qwqw59156e3260d')
bitly.shorten(url).short_url
end
end
以上2在开发模式和Rails生产模式下运行良好,我还尝试了AWS EC2实例Apache和Phusion,它运行良好 但是它在URL中使用" https"中提到域名的主生产服务器不起作用。
这些是我遇到的错误:
errno :: econnreset(peer -ssl_connect的连接重置):
App/Controller/Reports_controller.rb:342:在get_bitly_url'
中显示'
app/controllers/reports_controller.rb:35:in
显示中提到的URL来自JS文件,如上所述。
请帮助我摆脱此错误。
错误说 peer -ssl_connect ,这可能是网络问题。因此,检查偏端端口是否从您的网络打开。
通常在破坏服务器时发生。您是否检查了URL是否在主服务器上?如果它在开发人员方面起作用,也应该在生产上工作。祝你好运!