目前,我有一個Rails應用程序,在那裏我收到一個HTTP Get請求,然後處理它。我想要做的是當我收到這個請求時,我想複製請求,但改變URL,同時保持一切,並將請求發送到我的新URL。但是,這應該是一個副本,我希望我的Rails應用程序繼續處理原始請求。Ruby on Rails,如何複製HTTP請求
我知道我可以使用NET:HTTP來發出HTTP請求,但我不知道如何保留所有原始請求參數和標頭。
目前,我有一個Rails應用程序,在那裏我收到一個HTTP Get請求,然後處理它。我想要做的是當我收到這個請求時,我想複製請求,但改變URL,同時保持一切,並將請求發送到我的新URL。但是,這應該是一個副本,我希望我的Rails應用程序繼續處理原始請求。Ruby on Rails,如何複製HTTP請求
我知道我可以使用NET:HTTP來發出HTTP請求,但我不知道如何保留所有原始請求參數和標頭。
回答
# get request url
url = request.original_url
# parse url into URI object
uri = URI(url)
# replace current host with new host
uri.host = "newhost.com"
# forward request to new host
response = Net::HTTP.get(uri)
雖然這只是工作的10%。 –
你還需要做什麼? –
啊,好幾年了,我想寫克隆/重定向生產業務的工具。永不佔用時間:/ –
如果您想同時執行這些請求,則需要使用[Typhoeus](https://github.com/typhoeus/typhoeus)或其他支持並行請求的HTTP庫。 'NET:HTTP'不能做到這一點。 – max