0

C# 2captcha 图片帖子

         HttpClient client = new HttpClient();
         var bytes = File.ReadAllBytes("sample.jpg");

         var base64 =   Convert.ToBase64String(bytes);

         var secretKey = "8ffa...";
         var url = "https://2captcha.com/in.php?key=" + secretKey;

         using ( client = new HttpClient())
         {
             var content = new StringContent(base64);

             var response = await client.PostAsync(url , content);

             var stringResponse = await response.Content.ReadAsStringAsync();

             Console.WriteLine(stringResponse);
             Console.ReadLine();

我的每一个响应都是 ERROR_ZERO_CAPTCHA_FILESIZE,我不知道是什么问题。

4

1 回答 1

0

ERROR_ZERO_CAPTCHA_FILESIZE 表示图像大小小于 100 字节(不是千字节)。您需要彻底检查是否正确发送图像。这是一个正确的 Base64 示例表单的示例:

<form method="post" action="https://2captcha.com/in.php">
<input type="hidden" name="method" value="base64">
<input type="text" name="key" value="YOUR_APIKEY">
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Upload and get the ID">
</form>

也许问题出在您的 sample.jpg 文件中。尝试将真实的验证码图片编码为base64(实际上您可以在2captcha 登录页面上拍摄)。您的 base64 文本字符串必须具有图像文件的权重,因此它必须至少为几千字节。

于 2020-02-18T11:35:32.900 回答