- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 HTTParty 来发出 HTTP 请求和使用 REST API。现在我想重新使用我通过 POST 调用的登录页面设置的 cookie。
class SomeImporter
include HTTParty
def self.login
response = self.post('https://www.example.com/login', :query => {:user => 'myusername', :password => 'secret'})
self.default_cookies.add_cookies(response.header['set-cookie'])
self.get('https://www.example.com/protected')
end
end
最佳答案
通常,HTTP header 中的每个 Set-Cookie
都有一个条目。 HTTParty 将它们合并为一个字符串作为逗号分隔的列表。但是 HTTParty 在将它们添加回默认 cookie 时不会自行拆分它们。你必须自己解析它们。
可以使用以下方法解析“set-cookie”。将其添加到您的类(class)中:
# Parse the 'set-cookie' string
# @param [String] all_cookies_string
# @return [Hash]
def self.parse_set_cookie(all_cookies_string)
cookies = Hash.new
if all_cookies_string.present?
# single cookies are devided with comma
all_cookies_string.split(',').each {
# @type [String] cookie_string
|single_cookie_string|
# parts of single cookie are seperated by semicolon; first part is key and value of this cookie
# @type [String]
cookie_part_string = single_cookie_string.strip.split(';')[0]
# remove whitespaces at beginning and end in place and split at '='
# @type [Array]
cookie_part = cookie_part_string.strip.split('=')
# @type [String]
key = cookie_part[0]
# @type [String]
value = cookie_part[1]
# add cookie to Hash
cookies[key] = value
}
end
cookies
end
self.default_cookies.add_cookies(self.parse_set_cookie(response.header['set-cookie']))
self.parse_set_cookie
中,cookie 仅使用名称和值提取。您可以扩展它以获取更多详细信息,例如
Path
、
Domain
等。有关更多详细信息,请参阅
RFC 2109(4.2.2 Set-Cookie 语法)。
关于ruby-on-rails - 使用 HTTParty 解析 HTTP header 'set-cookie',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36330053/
我对 Rails 有点陌生,每次我觉得我能掌握它时,我都会碰壁。 我正在使用 HTTPParty 和这个 API .我只是想让响应显示在我的索引 View 中,以使最低级别的 api 正常工作。 它在
我使用的 API 返回了错误的 MIME 类型,它以 text/html 而不是 application/json 的形式出现。 一些响应是 application/json 所以我知道问题是由于 m
谁能提供一个使用 HTTParty 和 digest auth 的例子?我在网上找不到例子,希望有人能提供一些帮助。谢谢。 最佳答案 您可以在定义类时使用digest_auth 方法设置用户名和密码
我在 heroku 上试图访问一个需要将我的应用程序 ip 列入白名单的 API。因此,我使用 heroku 附加组件 proximo 获取 api 白名单的主机/ip。 我设置的使用 HTTPart
我正在设置一个可以发出 LastFM API 请求的应用程序。这些是简单的获取请求,我正在使用 HTTParty gem。 我的函数如下: def get_albums self.class.ba
如何记录使用 httparty 发送的请求? HTTParty.post( @application_url, :headers => {
我有工作 php 代码 我需要在 ruby 代码中转换它 我试过了 HTTParty.post("https://myurl/api/add_lead", { :body => { fir
我正在制作 rails包含 API 的应用程序,我希望我的 Controller 调用这些 API 而不是处理 ActiveRecord . 我正在使用 HTTParty用于调用电话。当我执行以下操作
我已经使用 HTTParty gem 在 Ruby on rails 中创建了一个类似 API 的项目。现在我的老板希望我在 Python 中做同样的事情,但我不知道 python。所以我想知道是否有
我有以下类执行一些请求: 第一个请求使用摘要授权 第二个请求使用基本身份验证 当我运行第二个请求时出现以下错误: only one authentication method, :basic_auth
我正在尝试使用 HTTParty 来管理对 API 的请求。这些是文档中的说明: url: https://www.havelockinvestments.com/r/orderbook Requir
我正在学习如何使用 HTTParty 和 API,但我的代码有问题。 Users/admin/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/uri/generic
我正在使用 HTTParty 使用以下代码将信息发布到服务器: this_component = {"name" => "something", "ip" => "localhost", "logs"
我需要用 HTTParty POST 一个数组. 我的数组是 [1, 2, 3] 并且 API 期望接收表单中的正文 "story_hash=1&story_hash=2&story_hash=3"
我正在使用 HTTParty 发送 POST 请求。所需的变量之一是数组。这是我用来发送的代码: response = HTTParty.post url, :body => {"key"=>
我对 Ruby 还是个新手,正在尝试使用 HTTParty gem 来帮助我编写 API 包装器。我输入 HTTParty::get 一个 URI,它解析 JSON 数据。从快速浏览和返回结果的行为方
这会导致 Ruby 出现内存问题吗?我知道如果大小超过 10KB,Open-URI 会写入 TempFile。但是 HTTParty 会在写入 TempFile 之前尝试将整个 PDF 保存到内存吗?
我读到 HTTParty 使用 SSL if the port is set to 443 ,但我不知道如何设置端口。有人可以为我澄清一下吗? 最佳答案 检查规范: https://github.co
是否可以将 OAuth 与 HTTParty 一起使用?我正在尝试做 this API 调用,但是,与文档相矛盾,它需要身份验证。 在您说“使用特定于 Twitter 的 Gem”之前,请听我说完——
我正在使用 HTTParty 提取 Facebook 用户的图书列表,但我在解析响应时遇到问题: Facebook 以这种方式返回数据: { "data": [ { "name
我是一名优秀的程序员,十分优秀!