0

Ruby を使用して、ビットストリーム ファイルをサーバーに解析しようとしましたが、badrequst HTTP に問題があります。Net::HTTP を使用してサーバーにデータを送信するのを手伝ってくれる人はいますか?

  def addbitstream(url, path, file_bitstream)
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, 443)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(path)

  f = File.new(file_bitstream)
  file = File.open(f)
  n = 6
  offset = 0
  request.body = ""

  while (offset < File.size(file))
    buffer = readfileAsbitstream(file, offset, n)
    request.body = buffer
    response = Net::HTTP.start(uri.host, 443) {|http| http.request(request) }

    offset += n
  end
end
4

2 に答える 2

0

私はファイル ストリーミングを行っていませんが、このコードで最初に発生する問題はHTTP.start、ブロックが渡されたときに、ブロックの実行後に接続が閉じられることです。ここでネストの順序を変更すると役立つ場合があります。

とにかくREST-clientなどのHTTPリクエストをラップするためにgemを使用することをお勧めします。これは、デフォルトでファイルのアップロードをストリーミングすると思います。

于 2013-04-11T15:05:03.187 に答える