2012-01-24 4 views
0

연석 루비 보석을 사용하여 https를 통해 게시물을 작성하려면 어떻게해야합니까?ssl을 통한 게시물 차단

이 내가 서버에 파일을 게시 할 수 HTTP를 통해 그것을 할 방법은 다음과 같습니다 순으로

c = Curl::Easy.new("http://www.myserver.com/upload_messages") 
c.multipart_form_post = true 
post_field = Curl::PostField.content('fieldname', myfile) 
c.http_post(post_field) 

:: 나는 USE_SSL이 = 사실 사용하는 것이 HTTP하지만 어떻게 커브와 함께 할을?

포스트가 지금 얻을에게 Heroku에서 실행되는 응용 프로그램과 오류로 간다 :

Curl::Err::SSLCaertBadFile (Curl::Err::SSLCaertBadFile) 

감사합니다.

+0

커브도 use_ssl 방법이 있습니다. 당신은 같은 방식으로 그것을 설정할 수 있어야합니다. –

답변

0

c = Curl::Easy.new("https://www.myserver.com/upload_messages") (URL에 http 대신 https가 표시됨), Curb의 Github (이 경우 작동하지만 직접 시도하지 않았 음)의이 예제 (https://github.com/taf2/curb/blob/master/samples/gmail.rb)가 https를 통해 Gmail에 게시됩니다 그렇게 해.

+0

그래, 시도했지만 두 번 확인해 보겠습니다. 실제로 프로덕션 환경 인 경우 https를 사용하는 변수가 있습니다. 하지만 다시 한번 확인해보고 다시보고하겠습니다. Jorge에게 감사드립니다. – Pod

0

잘못된 인증서가있는 것 같습니다. 서명되지 않은 메시지를 신뢰하는 옵션이 있어야합니다.

require 'net/http' 
require 'net/https' 
require 'uri' 

url = URI.parse 'https://myname:[email protected]/' 
http = Net::HTTP.new(url.host, url.port) 
http.use_ssl = (url.scheme == 'https') 
http.verify_mode = OpenSSL::SSL::VERIFY_NONE 

도 시도하십시오. curb-fu 보석. 거기 당신처럼 SSL 요청을 할 수 있습니다

form_data = { :color => 'red', :shape => 'sphere' } 
response = CurbFu.post({:url => "https://example.com", :protocol => "https"}, form_data)