Tag: curl

Curl请求将映像从本地计算机上载到rails应用程序上的ruby

我有一个在轨道上用ruby构建的应用程序。 我需要将curl请求发布到该应用程序以从本地计算机上传图像。 在我的ruby on rails应用程序中,我使用paperclip进行图像上传。 现在这个curl请求工作得很好,因为这个curl请求没有上传图像: curl -v -H “Accept: application/json” -H “Content-type: application/json” -X PUT -d ‘{“user”:{“first_name”:”John”,”last_name”:”Smith”},”token”:”api”}’ http://localhost:3000/users/8 现在我想从本地机器上传图像。 添加“display_photo”:@ test.jpg无法正常工作:这就是我的尝试:( 但它不起作用 。) curl -v -H -F “Accept: application/json” -H “Content-type: application/json” -X PUT -d ‘{“user”:{“first_name”:”firstname”,”last_name”:”lastname”,”display_photo”:@test.jpg},”token”:”api”}’ http://localhost:3000/users/8 所以问题是如何从curl请求上传图像/数据文件/video 编辑 这是我的控制器: def update @user = User.find(params[:id]) respond_to do |format| if @user.update_attributes(params[:user]) format.html { redirect_to(@user, :notice […]

如何通过curl发布数组值?

我喜欢测试API后端,其设计如下例所示: http://localhost:3000/api/v1/shops/1.json JSON响应: { id: 1, name: “Supermarket”, products: [ “fruit”, “eggs” ] } 这是相应的型号: # app/models/shop.rb class Shop < ActiveRecord::Base extend Enumerize attr_accessible :name, :products serialize :products, Array enumerize :products, in: %w{fruit meat eggs}, multiple: true resourcify validates :name, presence: true, length: { in: 5..50 } validates :products, presence: true end 我想使用curl来测试创建和更新条目。 因此,我使用以下命令: 创建: […]

Rails 3 – 基本的http身份validation与使用iphone的身份validation令牌

最初我使用基本的http身份validation来按照本指南对设计用户进行身份validation: http://jessehowarth.com/2011/04/27/ajax-login-with-devise 我成功地validation了用户,但会话仍然永远登录。 没有办法破坏用户的会话。 事实上,当我添加user_signed_in? 在我的create方法中设计的方法,即使通过json注销也总是返回true。 所以我得出结论,没有办法使用基本的http身份validation结束会话。 您所能做的就是检查用户是否已登录并将状态代码作为json发送回客户端。 然后我尝试了身份validation令牌路由,它允许您使用身份validation令牌创建会话,然后通过删除该身份validation令牌来销毁会话,并且用户必须再次登录才能访问需要身份validation的页面,如在这篇文章中显示: 使用CURL进行设计和认证! 这样做的缺点是,您需要为每个需要身份validation的页面输入这个非常长的字符串,这似乎有点不合需要。 我希望这里有两个世界中最好的,你可以像在网络浏览器中一样登录和退出。 我不确定我所说的一切是否准确,但似乎与这篇文章一致: 设计和rails 3中的http身份validation 在那篇文章中,他说身份validation令牌“比http基本身份validation更安全,因为密钥可能会过期”。 我认为他的意思是,一旦您使用基本身份validation登录,那就是它,您将永远登录,而身份validation令牌可以使其过期并强制用户再次登录。 这是准确的解释吗? 谢谢你的回复

使用REST_CLIENT发出请求,相当于curl请求

我正在尝试使用rest_client来发出这个curl请求,并且我一直都弄错了。 我该怎么做? curl请求:它运行良好并从yahoo返回访问令牌。 curl -u “:” -d “grant_type=authorization_code&code=&redirect_uri=” https://api.login.yahoo.com/oauth2/get_token 我正在努力工作的rest_client请求是: # get token yahoo_url = “https://api.login.yahoo.com/oauth2/get_token/” response = RestClient::Request.new( :method => :get, :url => yahoo_url, :client_id => $consumer_id, :client_secret => $consumer_secret, :headers => { :accept => :json,:content_type => :json}, :params => {‘grant_type’ => ‘authorization_code’, ‘code’ => code, ‘redirect_uri’ => $yahoo_redirect_url} ).execute results = JSON.parse(response.to_str) puts […]

使用Ruby curb执行HTTP PATCH

我正在尝试使用curb进行HTTP PATCH。 查看代码,似乎没有为此公开方法。 有没有办法用路边做PATCH? 如果没有,Ruby中还有哪些其他库或方法可以实现这一目标?

Ruby – 使用RestClientpost上传文件

我有一个cURL,我试图转换成Ruby。 cURL是这样的: curl -i -k -H “Accept: application/json” -H “Authorization: token” -H “Content-Type: image/jpeg” -H “Content-Length: 44062” –data-binary “gullfoss.jpg” http://sofzh.miximages.com/ruby/gullfoss.jpg’) result = RestClient.post(‘http://www.someurl.com/objects’,image,{‘upload’ => image, ‘Accept’ => ‘application/json’, ‘Authorization’ => ‘token’, ‘Content-Type’ => ‘image/jpeg’, ‘Content-Length’ => ‘44062’}) Ruby代码给了我一个400 Bad Request。 授权或其他标题不是问题。 我认为问题在于将–data-binary转换为Ruby。 任何帮助赞赏。 谢谢,阿德里安

使用Open :: URI显示HTTP标头?

使用Open :: URI,我可以执行以下操作: require ‘open-uri’ #check status open(‘http://google.com’).status #get entire html open(‘http://google.com’).read 是否有可能获取请求的HTTP标头,以便可以调试内容,例如Curls的curl -I http://google.com ? $ curl -I google.com HTTP/1.1 301 Moved Permanently Location: http://www.google.com/ Content-Type: text/html; charset=UTF-8 Date: Mon, 17 Dec 2012 14:28:17 GMT Expires: Wed, 16 Jan 2013 14:28:17 GMT Cache-Control: public, max-age=2592000 Server: gws Content-Length: 219 X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN […]

使用curl将JSON数据POST到简单的rails应用程序

我使用模型入口设置了一个简单的新rails应用程序,使用scaffolding属性title和content 。 现在我正在尝试使用curl来发布JSON数据(而不是使用浏览器)。 以下似乎工作(即成功发布空数据): curl –verbose –header “Accept: application/json” –header “Content-type: application/json” –request POST –data “” http://localhost:3000/entries 以下不起作用: curl –verbose –header “Accept: application/json” –header “Content-type: application/json” –request POST –data “{‘content’:’I belong to AAA’,’title’:’AAA’}” http://localhost:3000/entries 我尝试了很多变化。 我得到的错误主要是JSON数据中未找到主机或意外令牌。

无法使用curl,httparty或net :: http获取https协议中的任何内容

我无法使用https获取任何内容。 我不能取任何东西: curl -k https://graph.facebook.com 要么 uri = URI(‘https://graph.facebook.com/davidarturo’) Net::HTTP.get(uri) 我明白了: error: EOFError: end of file reached 此外,httparty和https也没有运气

如何使用HTTParty实现此POST请求?

我很难使用Ruby的HTTParty库向API端点发出POST请求。 我正在与之交互的API是Gittip API ,它们的端点需要身份validation。 我已经能够使用HTTParty成功地进行经过身份validation的GET请求。 您可以在示例代码中看到: user = “gratitude_test” api_key = “5962b93a-5bf7-4cb6-ae6f-aa4114c5e4f2” # I have included real credentials since the above is merely a test account. HTTParty.get(“https://www.gittip.com/#{user}/tips.json”, { :basic_auth => { :username => api_key } }) 该请求有效并按预期返回以下内容: [ { “amount” => “1.00”, “platform” => “gittip”, “username” => “whit537” }, { “amount” => “0.25”, “platform” => […]