异常使用http-conduit POST多部分表单

时间:2014-04-29 14:45:00

标签: haskell http-conduit

我尝试将多部分表单请求发布到内部网站,该网站应回复XML响应。使用我在Python中使用请求库的另一个简单脚本,一切正常,但是,使用http-conduit我一直收到异常ExpectedBlankAfter100Continue。

如果我用" https://httpbin.org/post"替换内部网址,我也会收到回复,没有问题。

我做错了吗?它似乎是库中的错误或网站没有按预期运行。如果是后一种情况,我可以选择在http-conduit中禁用此检查吗?

示例代码:

{-# LANGUAGE OverloadedStrings #-}

import Network
import Network.HTTP.Conduit
import Network.HTTP.Client.MultipartFormData
import qualified Data.ByteString.Lazy.Char8 as BL
import Data.Maybe (fromJust)
import System.Environment (getArgs)
import Control.Monad.IO.Class

main = do
    [x] <- getArgs
    --let url = "https://url.net/api.asp"
    let url = "https://httpbin.org/post"
    withSocketsDo $ withManager $ \m -> do
        r <- flip httpLbs m =<< (formDataBody (request $ BL.pack x) $ fromJust $ parseUrl url)
        liftIO $ BL.putStrLn $ responseBody r

request :: BL.ByteString -> [Part]
request x = <code removed>

1 个答案:

答案 0 :(得分:1)

这听起来像服务器返回格式错误的100-continue响应。但是这里没有足够的信息来正确调试它,在Github问题中处理这个问题可能更好。