【问题标题】:|Red Programming Language| How to get Cookies from a Webpage?|红色编程语言|如何从网页中获取 Cookie?
【发布时间】:2016-07-06 04:25:00
【问题描述】:

我在 Google 和 Stackoverflow 上进行了很多搜索。我找不到如何从网页中获取 Cookie(或一般情况下的 HTTP 标头),然后对其进行编辑并将其发回?

[我知道如何使用读/写但 Cookie idk 发出 POST/GET 请求]

【问题讨论】:

  • Red 现在只有临时 IO 支持,仅提供基本功能。要获得完整的 IO 支持,您应该等待 0.7.0。
  • 好吧...@rebolek BTW CTRL+F 在github.com/red/red/blob/master/runtime/simple-io.reds 中搜索header 显示了很多东西。您确定还不能提取标头吗?
  • 这只是一个假设,@docKimbel 证明我错了,即使现在也有可能,这是一件好事。无论如何,我的观点是完整的 IO 功能是 0.7.0 的东西。

标签: rebol rebol3 rebol2 red


【解决方案1】:

即使使用当前的临时 IO 支持,您仍然可以提取 HTTP 标头和 cookie 信息:

red>> data: read/info http://microsoft.com
== [200 #(
Cache-Control: "no-cache, no-store"
Connection: "keep-alive"
Date: "Wed,...

red>> list: data/2/set-cookie
== [{MS-CV=z/YnyU+5wE2gT8S1.1; domain=.microsoft.com; expires=Thu, 24-Mar-2016    10:59:39 GMT; pa...

red>> foreach str list [probe parse str [collect [keep to "=" skip keep to [";" | end]]]]
["MS-CV" "z/YnyU+5wE2gT8S1.1"]
["MS-CV" "z/YnyU+5wE2gT8S1.2"]

HTTP 标头存储在一个映射中!因此,如果发送多个 Set-Cookie 标头,您将获得一个字符串块,否则只是一个用于 Set-Cookie 键的字符串。

read/info 将返回一个包含 3 个元素的块:

  • HTTP 返回码(整数!)
  • HTTP 标头(映射!)
  • 请求的数据(字符串!或二进制!)

注意事项:

  • readwrite 支持 HTTPS。
  • 获取有关 Red 信息的最佳位置是加入 Gitter 上的 Red chat room。 ;-)

【讨论】:

    【解决方案2】:

    cookies 只是响应头中的一个字段

    你试过"the library people"

    【讨论】:

    • rebol.org 没有任何用于 red-lang AFAIK 的脚本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多