Feuch tagraichean progsaidh le luchd-cleachdaidh Ruby Net::HTTP air leth
Cruthaich aon eisimpleir Net::HTTP airson gach tagraiche progsaidh agus stad a rèir an fhreagairt a tha d' obair ag iarraidh gu fìrinneach.
Chan eil liosta de phrogsaidhean feumail gus an cruthaich gach oidhirp neach-cleachdaidh a tha suidhichte airson an t-suidheachaidh sin. Airson GET tro phrogsaidhean HTTP gun dearbhadh, faodar Net::HTTP a chleachdadh mar seo:
require 'net/http'
uri = URI('https://www.example.com/status')
proxies = ['http://proxy-a.example:8080',
'http://proxy-b.example:8080']
proxies.each do |value|
proxy = URI(value)
http = Net::HTTP.new(uri.host, uri.port, proxy.host, proxy.port)
http.use_ssl = uri.scheme == 'https'
http.open_timeout = 5
http.read_timeout = 10
begin
response = http.get(uri.request_uri)
puts "#{proxy.host}:#{proxy.port} #{response.code}"
break if response.is_a?(Net::HTTPSuccess)
rescue Net::OpenTimeout, Net::ReadTimeout, SocketError, SystemCallError, IOError => error
warn "#{proxy.host}:#{proxy.port} #{error.class}"
end
endTaghaidh an ceathramh argamaid port a' phrogsaidh; tha uri.host agus uri.port fhathast a' comharrachadh a' chinn-uidhe. Lìon an dà inntrigeadh eisimpleir bhon liosta phrogsaidhean HTTP nuair a nì thu deuchainn air URL poblach ceadaichte tro chinn-uidhe HTTP gun dearbhadh. Glèidhidh request_uri a shlighe agus a cheist. Làimhsicheas an eisimpleir fàillighean ceangail is leughaidh àbhaisteach agus clàraichidh e inbhe HTTP nuair a thig i.
An seo chuireas freagairt 2xx sam bith crìoch air an rannsachadh. Ma tha d' obair an dùil ri toradh eile, mìnich an slat-tomhais sin gu soilleir. Chan eil ath-sheòladh a' dearbhadh gu fèin-obrachail gun deach an duilleag a tha thu ag iarraidh fhaighinn.
Cùm an ath-aithris fèin-obrachail freagarrach don dòigh. Dh'fhaodadh POST a dh' fhàillicheas an dèidh a chuirp a chur air falbh an tagradh cèin atharrachadh mu thràth; dh'fhaodadh oidhirp eile tro phrogsaidh eile an èifeachd sin ath-aithris. Chan eil eisimpleir GET a' gealltainn ath-chluich shàbhailte de chùmhnantan a-rèir a thoil.