ruby on rails模拟HTTP请求发生错误:end of file reached

在文章 Ruby On Rails中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具 中,利用ruby的Net::HTTP发起http请求访问IBM Bluemix上的语言翻译服务时,提示:end of file reached

代码如下:

auth = "c9819718-4660-441c-9df7-07398950ea44:qUvrJPqwsgOx";
surl = "https://" + auth + "@gateway.watsonplatform.net/language-translation/api/v2/translate?source=en&target=es&text=" + @txt;
uri = URI.parse(surl);

begin #开始
	http = Net::HTTP.new(uri.host, uri.port)
	http.use_ssl = true
	request = Net::HTTP::Get.new(uri.request_uri)
	response = http.request(request)
	@result = "{\"text\":\"#{response.body}\"}";
rescue
	@result = "{\"error\":\"#{$!}!\"}";
end

看到这种错误信息,刚开始以为 是语法的问题,但怎么也找不到问题;

后来注意到,URL是HTTPS开头,想到可能是它的问题,

经过搜索,果然是需要设置:http.use_ssl = true

设置之后,又出来新的问题:SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

时间: 2024-12-06 20:12:42

ruby on rails模拟HTTP请求发生错误:end of file reached的相关文章

ruby on rails模拟HTTP请求错误发生:end of file reached

在文章 Ruby On Rails中REST API使用演示样例--基于云平台+云服务打造自己的在线翻译工具 中,利用ruby的Net::HTTP发起http请求訪问IBM Bluemix上的source=en&target=es&text=hello" style="color: rgb(51, 102, 153); text-decoration: none; font-family: Arial; font-size: 14px; line-height: 26p

http请求发生错误的数字含义的整理

我们在发起http请求时,响应头信息中会有一个状态字段来表示当前的响应成功与否. 因为经常忘记,现整理一下,方便整体记忆. 1.1XX:信息类,表示收到web浏览器的请求,正在进一步的处理中: 2.2XX:成功,表示用户请求被正确接收,理解和处理.如:200,ok: 3.3XX:重定向,表示请求没有成功,客户必须采取进一步的动作: 4.4XX:客户端错误,表示客户提交的请求有错误.如:404 ,not found,意味着请求中所引用的文档不存在: 5.5XX:服务器错误,表示服务器不能完成对请求

ruby on rails上传报编码错误

Encoding::UndefinedConversionError in ProductsController#create "\xFF" from ASCII-8BIT to UTF-8 在使用ruby1.9.3做上传照片的时候,报这个错误,解决办法是将控制器里的 File.open("#{Rails.root}/app/assets/images/"+new_name, "w") { |file| file.write(img_data)

使用 Android 客户端向 Ruby on rails 构建的 Web Application 提交 HTTP GET 和 HTTP POST 请求

最近想弄个能访问 Internet 的 Android 应用,因为求快所以用了 Ruby on Rails 来提供 HTTP 资源.这方面的资料还是比较少的,所以把尝试的过程记录下来. 1 使用 Ruby on Rails 构建 Web Application 1.1 新建 Web Application rails new Test cd Test 1.2 生成 product rails generate scaffold product reference:string quantity:

(微信API接口开发) 使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理

最近调试原来的微信模拟登陆时发生了"基础连接已关闭,发送时发生错误"的错误提示,原来都是好好的,只是很久没用了. 出错代码如下: ? 1 2 3 4 5 6 7 HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN");///cgi-bin/loginpage?

【已解决】Https请求——基础连接已经关闭 发送时发生错误

本人在做商用项目的推送消息功能时,借助第三方推送服务.这里避免有打广告的嫌疑,就不报名字了.由于是通过调用API接口,所以Post方法是自己写的,但是在开发环境是可以正常推送的,但是一上线就出各种问题.楼主猜测可能是开发环境测试时,推送的消息比较少,而线上推送消息很多,从而导致和连接数相关的错误.下文很有帮助,记录于此. 报的错误为:1. "基础连接已经关闭: 发送时发生错误"; 2016年10月25日18:56:53更新后来本篇的所有方法都尝试了,发现最后也没解决问题.最后问题终于解

ruby on rails错误undefined method `title' for nil:NilClass

首先搞清楚这句话,在 Ruby 中,方法分为 public.private 和 protected 三种,只有 public 方法才能作为控制器的动作. 我的出错的代码如下: controlle class ArticlesController < ApplicationController def new end def create params.permit! @article = Article.new(params[:article]) @article.save redirect_t

无法完成你的itunes store 请求发生未知错误50

装上itunes登陆itunes store时遂发现"无法完成您的itunes store的请求,发生未知错误(-50)"跃入眼帘,卸载重装数次还是不见效果,难道是WIN7和itunes貌合神离?心有不甘,遂上网查询.为使遇到同样问题的朋友少走弯路,遂将方法心得转载如下,希望对大家有所帮助: 方法一:貌似是被提到得最多的,转自freshertouch 童鞋.1. 关掉itunes.2. 找到 C:\Users\Administrator\AppData\Local\Apple Comp

解决连接vcenter (客户端无法向服务器发送完整的请求。(基础连接已经关闭:发送时发生错误。)) 问题

vCenter版本 5.5 vCenter 安装在server 2008 r2上面,今天补丁一打,重启后就无法连接vcenter了,起初以为是补丁的问题导致vcenter工作不正常,卸载了补丁依旧无法正常连接. 报未知连接错误,(客户端无法向服务器发送完整的请求.(基础连接已经关闭:发送时发生错误.)) 服务里面 vmware Virtualcenter server 服务启动不了. 倒腾了很久,, 很久   ,,    重装vcenter server 5.5的时候提示 vcenter 443