2016-07-10 5 views
0

は、私は、HTTPレスポンスの内容を読み取るためにHaskellのコード行を使用:この行はhttp://www.example.com様ドメインのために非常に適していますが、私はhttps://www.example.comような何かをしようとした場合、私はというエラーを取得しHaskellを使用してHTTPS応答からデータを取得するには?

simpleHTTP (getRequest addr) >>= getResponseBody

そのHTTPSはサポートされていません。

HTTPSのコードスニペットを作成するにはどうすればよいですか?

PS :)事前にありがとう:私は追加のライブラリ

+2

あなたは再実装しない限り、あなたは追加のライブラリなしでこれを行うことができなくなります[ 'HTTP-client'](http://hackage.haskell.org/package /http-client-0.5.1/docs/Network-HTTP-Client.html)を参照してください。 'http-conduit'の' httpLbs'はこれを使います。 – Michael

答えて

1

これは、HTTP-コンジットパッケージとは本当に簡単ですをインストールする必要はありません。たとえば、次のように

bash> stack --resolver lts-6.7 repl http-conduit 
ghci> :set -XOverloadedStrings 
ghci> import qualified Network.HTTP.Simple as H 
ghci> H.getResponseBody <$> H.httpLBS "https://google.com" 

https://www.stackage.org/haddock/lts-6.7/http-conduit-2.1.11/Network-HTTP-Simple.html#v:httpLBS

+0

はい、追加パッケージをインストールしたくありません。 –

+0

これは単にhaskell-platformを使用する方法ですか? –

+2

あるかもしれませんが、私はそれほど気にしませんでした。 'Network.HTTP'のドキュメンテーションは、"このパッケージはHTTPだけをサポートし、HTTPSはサポートしていません.HTTPSを使用しようとするとエラーが発生します。 "しかし、これは時代遅れかもしれないと思うし、(同じパッケージからの) 'Network.TCP'で提供されたものを使うことは可能かもしれません。 –

関連する問題