gpt4 book ai didi

ruby - 停止 ruby​​ http 请求修改 header 名称

转载 作者:数据小太阳 更新时间:2023-10-29 07:01:29 28 4
gpt4 key购买 nike

我正在用 ruby​​ 做一个 http 请求:

  http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Post.new(uri.path)
req.body = payload
req['customeheader'] = 'xxxxxxxxx'
http.set_debug_output $stdout

我打开了调试,当请求被发布时,我可以看到标题被发布为:

  Customheader: xxxxxxxxx

有没有办法阻止这个,我发布到的第三方服务器给出了一个错误,因为 header 名称不正确 - 它期待 customheader:

最佳答案

虽然可以猴子修补 Net::HTTPHeader 和 Net:HTTPGenericRequest 以删除小写和大写,但我发现了一种不同的方法,它允许选择性区分大小写而不是强制所有内容。

解决方法:

class CaseSensitiveString < String
def downcase
self
end
def capitalize
self
end
end

然后 CaseSensitiveString.new('keyname') 创建区分大小写的键。对其他键使用字符串/符号来维护现有行为。这比猴子补丁简单得多,并且可以与 rest-client 库以及 Net::HTTP 一起很好地工作。

关于ruby - 停止 ruby​​ http 请求修改 header 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10258893/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com