Malcev
Почему то все так же не получается. Причем не получается первая часть даже. Первое, что проверяет сервер так это правильность ключа. Хоть он и правильный приходит ответ, что ошибка ключа. Видать как то не так отправляются данные.
Пробовал по примеру (первая ссылка по отправки файла на сайт) переделать но не получилось, пробовал переделать по примеру который нашел на скрипте Autoit в нем рабочий код выглядит следующим образом:
;~~~ собираем тело пакета
Local $boundary = '----AFnIn7z0bMWeTdpy' ; задаём разделитель данных в HTTP запросе
Local $content = 'Content-Disposition: form-data; name="method"' & @LF & @LF
$content &= 'post' & @LF ; метод передачи данных
$content &= '--' & $boundary & @LF
$content &= 'Content-Disposition: form-data; name="key"' & @LF & @LF
$content &= $apiKey & @LF ; ключ
;$content &= '--' & $boundary & @LF
;$content &= 'Content-Disposition: form-data; name="regsense"' & @LF & @LF
;$content &= '1' & @LF ; с учетом регистра
; $content &= '--' & $boundary & @LF
; $content &= 'Content-Disposition: form-data; name="file"; filename="captcha.' & $ext & '"' & @LF
; $content &= 'Content-Type: ' & $ContentType & @LF
;$content &= BinaryToString($binFile) ; содержимое ФАЙЛА капчи, БЕЗ какого либо кодирования, целиком
;~~~ отправка капчи
With ObjCreate('WinHttp.WinHttpRequest.5.1')
.Open('POST', 'http://rucaptcha.com/in.php', 0) ; создаём соеденение, указываем адрес страницы
.SetRequestHeader('Content-Type', 'multipart/form-data; boundary=----AFnIn7z0bMWeTdpy') ; тип отправляемого запроса
.Send(StringToBinary($content, 1)) ; отправляем запрос
Те строки которые закоментированные используется для отправки файла картинки. Без него проходит проверка ключа на сервере рукапчи.
Я писал следующий код на AHK:
b := "qqqqq"
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
WebRequest.Open("post", URL, false)
WebRequest.SetRequestHeader("Content-Type", "multipart/form-data; boundary=qqqqq")
str = Content-Disposition: form-data; name="method"`n`r`n`r
post`n`r
--%b%`n`r
Content-Disposition: form-data; name="key"`n`r`n`r
(код ключа)
WebRequest.Send(str)
в чем может быть ошибка?
так же пробовал запускать скрипт для перекодирования картинки в формат Base64 (вторая ссылка которую Вы скидывали)
вылазит ошибка в строках
SendImageToImgur(imagePath, ClientID, JpegQuality := "") {
и
в чем причина выяснить не удалось.