В Ruby есть (как минимум) два модуля для работы с URI.
URI является частью стандартной библиотеки.
Addressable :: URI , является отдельным гемом и более полным и претендует на соответствие спецификации.
Анализирует URL-адрес с любым из них, изменяет любые параметрыиспользуя методы драгоценного камня, затем преобразуйте его, используя to_s
, прежде чем передавать его, и вам будет хорошо.())) 'но эта ошибка с OpenURI :: HTTPError: 403 Forbidden
Если вы перешли на эту страницу через браузер и она прошла успешно, то позже не удалось перейти на нее напрямую через код, скорее всегоотсутствует файл cookie или состояние сеанса. Возможно, вам понадобится что-то вроде Mechanize , которое будет поддерживать это состояние, позволяя вам перемещаться по сайту.
РЕДАКТИРОВАТЬ:
require 'addressable/uri'
url = 'http://www.example.com'
uri = Addressable::URI.parse(url)
uri.query_values = {
:foo => :bar,
:q => '"one two"'
}
uri.to_s # => "http://www.example.com?foo=bar&q=%22one%20two%22"