您好,登錄后才能下訂單哦!
在 Linux 系統中,使用 Ruby 處理網絡請求重定向的方法有很多
net/http
標準庫:require 'net/http'
require 'uri'
def fetch(uri_str, limit = 10)
raise ArgumentError, 'too many HTTP redirects' if limit == 0
uri = URI(uri_str)
response = Net::HTTP.get_response(uri)
case response
when Net::HTTPSuccess then
response
when Net::HTTPRedirection then
location = response['location']
fetch(location, limit - 1)
else
response.value
end
end
url = 'http://example.com'
response = fetch(url)
puts response.body
httparty
gem:首先,安裝 httparty gem:
gem install httparty
然后,使用以下代碼處理重定向:
require 'httparty'
def fetch(url, limit = 10)
raise ArgumentError, 'too many HTTP redirects' if limit == 0
response = HTTParty.get(url, follow_redirects: false)
case response.code
when 200
response
when 301, 302
location = response.headers['Location']
fetch(location, limit - 1)
else
raise "Unexpected response code: #{response.code}"
end
end
url = 'http://example.com'
response = fetch(url)
puts response.body
這兩種方法都可以在 Linux 系統中使用 Ruby 處理網絡請求重定向。你可以根據自己的需求和喜好選擇其中一種方法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。