(ruby) ruby ​​сокеты: как создать POST-запрос? - PullRequest
2 голосов
/ 27 ноября 2009

Как создать запрос POST, используя TCPSocket в Ruby? Существует ли специальный формат для создания поста? У меня есть следующее, но я получаю ошибку разбора (это для сервера rails):

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")

Ответы [ 2 ]

1 голос
/ 27 ноября 2009

Поле Host: должно , а не включать номер порта.

1 голос
/ 27 ноября 2009

Найдена эта статья , которая может быть вам полезна. Мне особенно нравится комментарий Эрика Ходеля о том, как это сделать с помощью Net :: HTTP. Я знаю, что вы указали, что хотите сделать TCPSocket.send (возможно, потому что вы работаете над чем-то немного более интересным, чем просто отправка POST), но если вы не делаете что-то более сложное, вы можете использовать Net :: HTTP и радоваться тому, как легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...