任意のhttpヘッダを送って、そのレスポンスを取得する関数かクラスってないですか?

例えば、ボクが

GET /foobar.htm HTTP/1.1
Host: example.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

を送りたいとして、その返事(HTMLデータ等)を取得したい。という感じです。
ないとしたら、やっぱりsocketにwriteするの自分で作るしかないのかな。