首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConvertAPI - WEB使用WebClient C#抛出(400)坏请求

ConvertAPI - WEB使用WebClient C#抛出(400)坏请求
EN

Stack Overflow用户
提问于 2017-10-20 18:18:43
回答 2查看 553关注 0票数 0

我得到了错误的"(400)坏请求“调用ConvertApi网站到Pdf。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-24 06:53:11

代码语言:javascript
复制
 using (var client = new WebClient())
            {
                client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                var response = client.UploadString("https://v2.convertapi.com/web/to/pdf?secret=" + Secret + "&Url=" + value + "&ConversionDelay=" + ConversionDelay, "");
                var ocontent3 = JsonConvert.DeserializeObject<FileList>(response);
                byte[] result = ocontent3.Files[0].FileData;
            }
票数 0
EN

Stack Overflow用户

发布于 2017-11-20 14:47:58

ConvertAPI和其他许多支持二进制数据的Rest支持多部分或应用程序/八进制流(二进制文件)响应,最好在C#中使用二进制响应而不是json(文本)。它将更快-响应主体将更小,下载时间更短,并且不需要从JSON Base64解码二进制数据。

所以代码可能是

代码语言:javascript
复制
        const string secret = "<YourSecret>";
        const string url = "http://www.google.com";
        const int conversionDelay = 1;
        const string fileToSave = @"C:\Projects\_temp\test1.pdf";

        using (var client = new WebClient())
        {
            client.Headers.Add("accept", "application/octet-stream");
            var response = new byte[] { };
            try
            {
                response = client.UploadValues("https://v2.convertapi.com/web/to/pdf?secret=" + secret, "POST", new NameValueCollection
                {
                    { "Url", url },
                    { "ConversionDelay", conversionDelay.ToString() }
                });
            }
            catch (WebException e)
            {
                Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
                Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
                Console.WriteLine("Body : {0}", new StreamReader(e.Response.GetResponseStream()).ReadToEnd());
            }

            if (response != null)
                File.WriteAllBytes(fileToSave, response);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46855050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档