使用http管道张贴多部分表单时出现异常



我正在尝试将一个由多部分组成的表单请求POST到一个内部网站,该网站应该以XML响应进行回复。使用我在Python中拥有的另一个带有请求库的简单脚本,一切都很好,然而,使用http管道,我不断收到一个异常ExpectedBlankAfter100Continue。

如果我将内部url替换为"https://httpbin.org/post",我也收到了回复,没有问题。

我做错什么了吗?看起来要么是库中的错误,要么是网站没有按预期运行。如果是后者,我是否可以选择在http管道中禁用此检查?

样本代码:

{-# 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>

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

相关内容

  • 没有找到相关文章

最新更新