首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ruby Curb使用基本身份验证执行帖子

使用Ruby Curb使用基本身份验证执行帖子
EN

Stack Overflow用户
提问于 2013-05-09 00:14:21
回答 2查看 5.6K关注 0票数 2

我正在尝试将以下curl命令行自动化到Ruby Curb中:

代码语言:javascript
复制
curl -H "Content-Type:application/json" -X POST -d \
 '{"approvalType": "auto", 
  "displayName": "Free API Product",
  "name": "weather_free",
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ]}' \
-u myname:mypass https://api.jupiter.apigee.net/v1/o/{org_name}/apiproducts

其中,在运行脚本之前填写了myname、mypass和{org name}。

我不知道如何使用Ruby Curb的基本身份验证对JSON有效负载执行http post。我尝试了以下几种方法:

代码语言:javascript
复制
require 'json'
require 'curb'

payload = '{"approvalType": "auto", 
  "displayName": "Test API Product Through Ruby1",
  "name": "test_ruby1",
  "proxies": [ "weather" ],
  "environments": [ "test" ]}'

uri = 'https://api.jupiter.apigee.net/v1/o/apigee-qe/apiproducts'
c = Curl::Easy.new(uri)
c.http_auth_types = :basic
c.username = 'myusername'
c.password = 'mypassword'
c.http_post(uri, payload) do |curl| 
    curl.headers["Content-Type"] = ["application/json"]
end

puts c.body_str
puts c.response_code

结果是一个空的主体和一个415响应码。我验证了curl命令工作得很好。

任何帮助都将不胜感激,因为它将解决我现在正在解决的一大类问题。

EN

回答 2

Stack Overflow用户

发布于 2013-11-19 16:04:36

我使用Curb (0.8.5)并发现,如果我在多个请求上重用curl实例(get请求保存cookie,然后post数据),http_post方法的用法如下

代码语言:javascript
复制
http_post(uri, payload) 

它实际上会将uri和有效负载组合到单个json请求中(这当然会导致错误,如“意外字符('h'...”或者“坏请求”)。

我设法让它正常工作,但我必须使用带有有效负载的方法作为单个参数:

代码语言:javascript
复制
c =Curl::Easy.new
url = "http://someurl.com"
headers={}
headers['Content-Type']='application/json'
headers['X-Requested-With']='XMLHttpRequest'
headers['Accept']='application/json'
payload = "{\"key\":\"value\"}"

c.url = url
c.headers=headers
c.verbose=true
c.http_post(payload)

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2013-05-09 00:21:02

响应代码为415,表示“服务器不支持媒体类型”。如果您将Content-Type设置为这样(不带括号),是否有效?

代码语言:javascript
复制
curl.headers["Content-Type"] = "application/json"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16445384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档