Mae Ruby yn iaith raglennu sy'n boblogaidd am ei symlrwydd a'i phŵer. Un o'r gweithgareddau cyffredin y gallwn ei wneud gyda Ruby yw perfformio ceisiadau HTTP. Mae hyn yn hanfodol ar gyfer gweithio gyda gwefannau, APIs, a llawer o gymwysiadau eraill. Yn yr erthygl hon, byddwn yn archwilio sut i wneud ceisiadau HTTP yn Ruby, gan ddefnyddio rhai o'r llyfrgelloedd mwyaf poblogaidd a dulliau.
Mae HTTP (Hypertext Transfer Protocol) yn broses sy'n caniatáu i gyfrifiaduron gyfathrebu â'i gilydd ar y rhyngrwyd. Mae ceisiadau HTTP yn cynnwys nifer o fathau, gan gynnwys:
Mae'r math o gais a ddefnyddir yn dibynnu ar yr hyn yr ydym am ei gyflawni. Mae Ruby yn cynnig nifer o ddulliau i wneud ceisiadau HTTP, a byddwn yn edrych ar rai ohonynt yn y penawdau canlynol.
Mae nifer o lyfrgelloedd ar gael yn Ruby i wneud ceisiadau HTTP. Mae'r rhai mwyaf poblogaidd yn cynnwys:
Yn yr erthygl hon, byddwn yn canolbwyntio ar Net::HTTP a HTTParty, gan eu bod yn ddwy o'r dulliau mwyaf cyffredin a hawdd eu defnyddio.
Mae Net::HTTP yn cynnig dull syml i wneud cais GET. Dyma sut i wneud cais i gael gwybodaeth o wefan:
require 'net/http' require 'uri' uri = URI.parse("http://www.example.com") response = Net::HTTP.get_response(uri) puts response.body
Yn y cod uchod, rydym yn defnyddio'r 'URI' i ddiffinio'r URL yr ydym am ei gysylltu. Yna, rydym yn defnyddio 'Net::HTTP.get_response' i wneud y cais GET a chael yr ymateb.
Mae gwneud cais POST yn ychydig yn fwy cymhleth, gan fod angen i ni anfon data gyda'r cais. Dyma enghraifft:
require 'net/http' require 'uri' uri = URI.parse("http://www.example.com/api") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.scheme == "https" request = Net::HTTP::Post.new(uri.request_uri) request.set_form_data({"key1" => "value1", "key2" => "value2"}) response = http.request(request) puts response.body
Yn yr enghraifft hon, rydym yn creu cais POST a defnyddio 'set_form_data' i anfon data. Mae'n bwysig nodi ein bod yn defnyddio 'http.use_ssl = true' os yw'r URL yn defnyddio HTTPS.
Mae HTTParty yn llyfrgell sy'n cynnig API syml a hawdd ei ddefnyddio. Mae'n gwneud ceisiadau HTTP yn llawer mwy cyflym a hawdd. I ddechrau, bydd angen i chi ei osod:
gem install httparty
Dyma sut i wneud cais GET gyda HTTParty:
require 'httparty' response = HTTParty.get("http://www.example.com") puts response.body
Fel y gwelwch, mae'r cod yn syml iawn. Mae HTTParty yn cymryd gofal o'r holl fanylion technegol, gan ei gwneud yn hawdd i chi ganolbwyntio ar y data.
Mae gwneud cais POST gyda HTTParty hefyd yn syml:
require 'httparty' response = HTTParty.post("http://www.example.com/api", body: {key1: "value1", key2: "value2"}.to_json, headers: {'Content-Type' => 'application/json'}) puts response.body
Yn yr enghraifft hon, rydym yn defnyddio 'body' i anfon data fel JSON, a rydym yn gosod y penawd 'Content-Type' i ddweud wrth y gweinydd pa fath o ddata rydym yn ei anfon.
Mae'n bwysig ymdrin â'r ymateb a dderbynnir o'r cais. Gallwn wirio statws y cais a chael gafael ar y data yn hawdd. Dyma sut i wneud hynny:
response = HTTParty.get("http://www.example.com") if response.success? puts "Cais llwyddiannus!" puts response.body else puts "Cais methiant: #{response.code}" end
Mae'r dull 'success?' yn ein galluogi i wirio a oedd y cais yn llwyddiannus, a gallwn ddefnyddio 'response.code' i gael y cod statws.
Mae perfformio ceisiadau HTTP yn Ruby yn broses syml a chymhwysol. Gyda'r llyfrgelloedd fel Net::HTTP a HTTParty, gallwn wneud ceisiadau GET a POST yn hawdd, gan dderbyn a thrin yr ymatebion yn effeithiol. Mae'r wybodaeth hon yn hanfodol ar gyfer unrhyw un sy'n gweithio gyda gwefannau neu APIs, a gobeithio y byddwch wedi dysgu rhywbeth newydd heddiw!
Peidiwch ag anghofio ymarfer a phrofi'r codau a drafodwyd yn yr erthygl hon. Mae'r gorau o'r Ruby yn aros i chi ei ddarganfod!
© 2024 RailsInsights. All rights reserved.