gpt4 book ai didi

ruby-on-rails - 在 Rails 中向请求添加 header

转载 作者:可可西里 更新时间:2023-11-01 15:07:23 27 4
gpt4 key购买 nike

我正在使用 Rails 3.2.1 进行 HTTP 发布。

我需要将 X-FORWARDED FOR 添加到标题中。我如何在 Rails 中做到这一点?

代码:

post_data = {
"username" => tabuser
}

response = Net::HTTP.post_form(URI.parse("http://<my php file>"), post_data)

最佳答案

我觉得这个更具可读性

require "net/http"
require "uri"

url = URI.parse("http://www.whatismyip.com/automation/n09230945.asp")

req = Net::HTTP::Get.new(url.path)
req.add_field("X-Forwarded-For", "0.0.0.0")
req.add_field("Accept", "*/*")

res = Net::HTTP.new(url.host, url.port).start do |http|
http.request(req)
end

puts res.body

http://www.dzone.com/snippets/send-custom-headers-rub 被盗

但是!!

如果你想发送'Accept' header (Accept: application/json) 到 Rails 应用程序,你不能这样做:


req.add_field("接受", "应用程序/json")

但是做:


req['接受'] = '应用程序/json'

Rails 忽略包含“,/”或“/”的 Accept header 并返回 HTML(add_field 添加)的原因。这是由于非常旧的浏览器发送了不正确的“接受” header 。

关于ruby-on-rails - 在 Rails 中向请求添加 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303147/

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