Миграция из Network.HTTP.Enumerator в Network.HTTP.Conduit - PullRequest
3 голосов
/ 06 февраля 2012

Я не знаю, почему мой код ломается.Сначала я подумал, что это потому, что parseURL дает [] для requestHeaders.Хорошо, возможно, мне просто нужно сказать, какими должны быть заголовки resquestHeaders.Ну, я проверил requestHeaders, сгенерированный из моего старого, рабочего кода.Это тоже возвращает [].Так что теперь у меня нет идей.Ниже приведен старый рабочий код, сопровождающий мои действия, которые я пробовал в GHCi с новой библиотекой, основанной на каналах.Я получаю ошибку.

Prelude Network.HTTP.Conduit> nManager <- newManager def
Prelude Network.HTTP.Conduit> jRequest <- parseUrl "https://10.69.69.1/cgi-bin/qaLinkEditor.cgi?json=1" :: (IO (Request IO))
Prelude Network.HTTP.Conduit> let response = httpLbs jRequest nManager
Prelude Network.HTTP.Conduit Control.Monad.Trans.Resource> runResourceT response
*** Exception: error unexpected packet: Handshake [ServerHelloDone]

Итак, как вы можете видеть, это почти точно такой же код.Поэтому я хотел бы получить отзывы о том, что изменилось, и о том, на что мне стоит обратить внимание.Кроме того, как я могу проверить заголовки http, отправляемые назад и вперед между моим клиентским кодом и сервером?

1 Ответ

2 голосов
/ 08 февраля 2012

Я думаю, что это было решено с некоторыми изменениями в пакетах tls.Я только что выпустил http-проводник 1.2.5, пожалуйста, посмотрите, решает ли он проблему.

Если вы все еще получаете сообщение об ошибке, возможно, сертификат SSL не соответствует имени хостаподключаюсь к.

...