2009-11-26 3 views
2

Ruby에서 TCPSocket을 사용하여 POST 요청을 만드는 방법은 무엇입니까? 게시물 작성에 특별한 형식이 있습니까? 나는 다음을 가지고 있지만 나는 (그것이 레일 서버의) 구문 분석 오류 :(ruby) ruby ​​소켓 : POST 요청을 만드는 방법은 무엇입니까?

require 'socket' 

s = TCPSocket.open("localhost", 3000) 
s.puts("POST /<controller>/<action> HTTP/1.1") 
s.puts("Host: localhost:3000") 
s.puts("Content-Type: application/x-www-form-urlencoded") 
s.puts("Content-Length: 103\r\n\r\n") 
+0

첫 번째 홍당무로 보입니다. 은 자리 표시 자라고 가정하고 적절한 값을 게시하고 있습니다 ... 실제로 103 바이트의 데이터를 실제로 따라 다니고 있습니까? –

답변

1

Host: 필드는 이 아니고은 포트 번호가 포함되어야합니다.

1

당신에게 몇 가지 사용이 될 수 있습니다 this article 발견. 특히 Net :: HTTP를 사용하여 Eric Hodel이 해설하는 방법에 대한 의견을 좋아합니다. 나는 당신이 TCPSocket.send를하고 싶다고 지정했다는 것을 알고있다. (아마도 POST를 보내는 것보다 약간 재미있는 일을하기 때문에) 아마도 좀 더 복잡한 일을하지 않는다면 Net :: HTTP를 사용할 수있을 것이다. 그것이 얼마나 쉬운지를 기뻐하십시오.

관련 문제