1

curl を使用すると、次のように HTTP ヘッダー リクエストを実行できます。

curl -I 'http://www.google.com'

この手順を Curb で実行するにはどうすればよいですか? 時間がかかりすぎるので、遺体を回収したくありません。

4

1 に答える 1

4

-I/--headオプションはリクエストを実行しますHEADlibcurl C API では、 CURLOPT_NOBODYオプションを設定する必要があります。

縁石を使用すると、次のようにハンドルにこのオプションを設定できます。

h = Curl::Easy.new("http://www.google.com")
h.set :nobody, true
h.perform
puts h.header_str
# HTTP/1.1 302 Found
# Location: http://www.google.fr/
# Cache-Control: private
# Content-Type: text/html; charset=UTF-8
# ...

別の方法として、次のような便利なショートカットのいずれかを使用できます。

h = Curl::Easy.new("http://www.google.com")
# This sets the option behind the scenes, and call `perform`
h.http_head
puts h.header_str
# ...

または、クラスメソッドを使用して、次のようにします。

h = Curl::Easy.http_head("http://www.google.com")
puts h.header_str
# ...

注: 最終的なショートカットはCurl.head("http://www.google.com"). 執筆時点では機能しておらず、パッチが適用されたばかりなので、使用する前に次の縁石リリースまで待ってください。このプルリクエストを参照ください

于 2013-05-05T13:38:03.707 に答える