1

次のコードを使用して、データをWebサイトに渡します。

require "net/http"
params = {"message"=>"some message", "to"=>"someone"}
Net::HTTP.post_form(URI.parse("http://example.com/m/send"),params)

Webページを調べると、フォームのアクションはhttp://example.com/m/sendであり、サイト自体を使用して問題なくデータを投稿できます。

取得を続けHTTP 404ますが、データがデータベースに渡されません。

GETメソッドを使用してページをリクエストすると、が表示されHTTP 405ます。これは、不正なリクエストエラーです。これにより、ページが存在することが保証されます。

URLが有効なので、データが投稿されないようにするにはどうすればよいですか?そして、どうすればそれを修正できますか?

4

1 に答える 1

0

Net/HTTPライブラリだけを使用して質問を解決することはできませんでした。ただし、コメントでTin Manが提案したように、gemを機械化すると問題が解決し、データがサーバーに正常に投稿されます。

また、リダイレクトに従うという点で、より柔軟で簡単です。したがって、私のように誰かがこの問題に遭遇した場合は、Mechanizegemを使用することをお勧めします。

于 2012-02-02T12:01:49.203 に答える