[RUBY-ON-RAILS] 레일에서 다른 웹 사이트로 컨트롤러에서 POST 데이터를 제출
RUBY-ON-RAILS레일에서 다른 웹 사이트로 컨트롤러에서 POST 데이터를 제출
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
해결법
-
==============================
1.가장 간단한 방법은 루비의 핵심 라이브러리를 사용하고 있습니다 :
가장 간단한 방법은 루비의 핵심 라이브러리를 사용하고 있습니다 :
require "uri" require "net/http" params = {'box1' => 'Nothing is less important than which fork you use. Etiquette is the science of living. It embraces everything. It is ethics. It is honor. -Emily Post', 'button1' => 'Submit' } x = Net::HTTP.post_form(URI.parse('http://www.interlacken.com/webdbdev/ch05/formpost.asp'), params) puts x.body
프로 팁 : delayed_job 또는 background_rb 같은 보석을 사용하여 비동기 요청을 수행
-
==============================
2.죄송합니다, 제가 보안 서버에 연결하는 것을 언급 무시. 이것은 내가 파일 오류의 끝을 얻고 있었다 이유였던 것으로 보인다. 사용하여 추가 '순 / HTTPS'및 연결에 전화 USE_SSL 문제를 해결했다. 모든 사람의 도움을 주셔서 감사합니다.
죄송합니다, 제가 보안 서버에 연결하는 것을 언급 무시. 이것은 내가 파일 오류의 끝을 얻고 있었다 이유였던 것으로 보인다. 사용하여 추가 '순 / HTTPS'및 연결에 전화 USE_SSL 문제를 해결했다. 모든 사람의 도움을 주셔서 감사합니다.
require 'net/https' require 'open-uri' url = URI.parse('https://MY_URL') req = Net::HTTP::Post.new(url.path) req.form_data = data req.basic_auth url.user, url.password if url.user con = Net::HTTP.new(url.host, url.port) con.use_ssl = true con.start {|http| http.request(req)}
내가 대답을 vlad.zloteanu 줄 것 같아요, 그래서이는 post_form 방법에 대한 소스 기반으로한다.
-
==============================
3.외부 서버가 편안하고 경우, 간단하게 데이터를 처리 할 수 ActiveResource 모델을 만들 수 있습니다.
외부 서버가 편안하고 경우, 간단하게 데이터를 처리 할 수 ActiveResource 모델을 만들 수 있습니다.
-
==============================
4.나는 그것이 HTTP 302을 사용하기 때문에 redirect_to 핸들 요청을 게시 생각하지 않는다 (?) 그냥 다른 페이지를 얻을 수있다.
나는 그것이 HTTP 302을 사용하기 때문에 redirect_to 핸들 요청을 게시 생각하지 않는다 (?) 그냥 다른 페이지를 얻을 수있다.
난 당신이 뭔가를 할 수 있다고 생각
Class MyController < ActionController require 'net/http' def my_method #do something with the data/model my_connection = Net::HTTP.new('www.target.com', 80) reponse = my_connection.post(path_within_url, data) #do something with response if you want end end
참고 :이 공기 코딩하고 시도 또는 테스트되지 않았습니다
from https://stackoverflow.com/questions/1195962/submit-post-data-from-controller-to-another-website-in-rails by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 어떻게 루비에서 라틴 문자 악센트 대체 할 수 있습니까? (0) | 2020.02.08 |
---|---|
[RUBY-ON-RAILS] 레일 : 인덱스 fields_for? (0) | 2020.02.08 |
[RUBY-ON-RAILS] has_many 레일 : 찾기를 통해 모델을 가입에 추가 속성에 의해 (0) | 2020.02.08 |
[RUBY-ON-RAILS] 아니 경로 일치 [GET] / 자산 (0) | 2020.02.08 |
[RUBY-ON-RAILS] OmniAuth 및 페이스 북 : 인증서 확인 실패 [중복] (0) | 2020.02.08 |