Anfon POST Ruby Net::HTTP drwy brocsi
Ffurfweddwch gysylltiad HTTP Ruby gyda phrocsi penodol, yna anfonwch ddata'r ffurflen i'r cyrchfan.
Cadwch gyrchfan y ffurflen yn y cais a'r procsi yng nghyfluniad y cysylltiad. Nid oes angen maes ffurflen arbennig ar brocsi sy'n cynnwys yr URL rydych chi ei eisiau, oni bai eich bod yn defnyddio rhyngwyneb procsi gwe safle penodol.
Ar gyfer Net::HTTP Ruby, gellir darparu procsi HTTP penodol wrth greu'r cleient:
require 'net/http'
uri = URI('https://example.com/form')
http = Net::HTTP.new(uri.hostname, uri.port,
'203.0.113.10', 8080)
http.use_ssl = true
http.open_timeout = 5
http.read_timeout = 10
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data('message' => 'hello')
response = http.start { |session| session.request(request) }
Mae'r procsi'n ddarluniadol; mae ymgeiswyr HTTP ar gyfer profion ffurflenni cyhoeddus a ganiateir ar gael yn y rhestr procsi HTTP. Rhaid disodli pwynt terfyn y ffurflen â gwasanaeth a fwriedir i dderbyn y cyflwyniad. Mae dogfennaeth procsi Net::HTTP hefyd yn disgrifio manylion mewngofnodi procsi a gosodiadau procsi sy'n deillio o'r amgylchedd.
Darllenwch yr ymateb cyn beio'r procsi
Gall gweinydd sy'n gwrthod ffurflen gynhyrchu gwall HTTP ar ôl i'r llwybr procsi weithio'n gywir. Gwiriwch statws yr ymateb a gofynion y gyrchfan: dull, math cynnwys, meysydd ffurflen, cwcis, ac unrhyw docyn cais.
Daw her dilysu procsi o'r procsi. Mae mewngofnodi cymhwysiad neu ffurflen a wrthodwyd yn perthyn i'r gyrchfan. Cadwch eu manylion mewngofnodi ar wahân. Ni all ychwanegu cyfrinair cyrchfan at gyfluniad y procsi fodloni mewngofnodi'r gyrchfan.
Mae rheolau penawdau anfon ymlaen Squid yn ffynhonnell bosibl arall o ddryswch. Mae eu polisi ochr y gweinydd yn wahanol i adeiladu POST Ruby dilys. Peidiwch â newid rheolau penawdau procsi a rennir dim ond oherwydd i'r ffurflen fethu unwaith.
Ar gyfer ailgeisiau, ystyriwch a allai'r cyflwyniad cyntaf fod wedi'i brosesu'n barod. Nid yw ymateb coll yn brawf na chyrhaeddodd POST y cymhwysiad erioed.