Извиняюсь за «много букв». Но меньше никак. Если что нарушил или выбрал не тот раздел – также извиняюсь, я тут не частый гость.
Я погуглил, но нашел только вот это.
Отсюда и отталкивался в дальнейшем. Весь базис взял оттуда. Но результата пока не достиг. Скорее всего там устаревшие сведения по формированию пакета для отправки.
Задачи:
1. Сформировать правильный пакет для запроса.
2. Правильно его отправить на сервер.
Подзадачи:
1. Отправить изображение с твердотельного накопителя.
2. Отправить изображение, хранящееся на сервере (http-ссылка).
Форма для создания пакета описана вот тут и вот тут.
Вот сразу же два вопроса:
1. Надо ли при формировании запроса переносить все на новую строчку (как на второй ссылке, скриншот), или же можно делать всё в одной строчке (как на первой ссылке, скриншот) ?
2. Почему по второй ссылке каждая строка оканчивается на «/>», а на первой просто «>» ? Какая-то разница есть ? Если да, то где правильно ?
Теперь вопросы по формированию пакета.
Где в формировании пакета указывается свой ID-key сервиса RuCaptcha – я понял. А вот где в теле формирования пакета указывается файл, который будем отправлять – вот совершенно не понятно.
Я покажу свой программный код. Просьба посмотреть и сказать: что я сделал не так ? Мне каждый раз выдаёт ошибку: ERROR_UPLOAD.
Тело файла я попытался всунуть в 4-ю строчку пакета, добавив «value=' & $binFile &'>'». Не прокатило.
Далее я попробовал вставить файл в 5-ю строчку, оставив 4-ю как описано на сайте.
Тоже не прокатило.
Вопросы:
1. Где при формировании пакета указывается отправляемый графический файл ?
2. Как надо правильно составить пакет ? Надо ли переносить строчки или не надо ? Нужно писать в конце каждой строчки «/>» или же «>» ?
3. Правильно ли я отправляю сформированный пакет на сервер ? Может быть у меня где-то ошибка при отправке ?
4. Выше я привел вопрос по отправке файла с локального диска. А как изменится пакет и способ его отправки, если я решу отправлять графический файл в виде http-ссылки ?
Парни, помогите пожалуйста. Пока не решу вопрос с получением разгаданной капчи – теряется смысл создавать мой скрипт, который я задумал.
Я искал как оформить код в Спойлер (тут на форуме), но не нашёл. Извиняюсь.
Если в кого то есть готовые работающие код-заготовки по моему вопросу - буду рад их получить и изучить самостоятельно
Всё я разобрался. 3 вечера колдовал. Но победил.
Я погуглил, но нашел только вот это.
Отсюда и отталкивался в дальнейшем. Весь базис взял оттуда. Но результата пока не достиг. Скорее всего там устаревшие сведения по формированию пакета для отправки.
Задачи:
1. Сформировать правильный пакет для запроса.
2. Правильно его отправить на сервер.
Подзадачи:
1. Отправить изображение с твердотельного накопителя.
2. Отправить изображение, хранящееся на сервере (http-ссылка).
Форма для создания пакета описана вот тут и вот тут.
Вот сразу же два вопроса:
1. Надо ли при формировании запроса переносить все на новую строчку (как на второй ссылке, скриншот), или же можно делать всё в одной строчке (как на первой ссылке, скриншот) ?
2. Почему по второй ссылке каждая строка оканчивается на «/>», а на первой просто «>» ? Какая-то разница есть ? Если да, то где правильно ?
Теперь вопросы по формированию пакета.
Где в формировании пакета указывается свой ID-key сервиса RuCaptcha – я понял. А вот где в теле формирования пакета указывается файл, который будем отправлять – вот совершенно не понятно.
Я покажу свой программный код. Просьба посмотреть и сказать: что я сделал не так ? Мне каждый раз выдаёт ошибку: ERROR_UPLOAD.
Код:
;~~~ формирование пакета
Local $binFile = FileRead($pathFile)
Local $content = '<form method="post" action="https://rucaptcha.com/in.php" enctype="multipart/form-data">' & @LF
$content &= '<input type="hidden" name="method" value="post">' & @LF
$content &= '<input type="text" name="key" value=' & $apiKey &'>' & @LF
$content &= '<input type="file" name="file" value=' & $binFile &'>' & @LF
$content &= '<input type="submit" value="Загрузить и получить ID">' & @LF
$content &= '</form>'
;~~~ отправка пакета
Local $oWinHttp = ObjCreate('WinHttp.WinHttpRequest.5.1') ; создаём COM-объект
With $oWinHttp
.Open("POST", "https://rucaptcha.com/in.php", False) ; создаём соединение, указываем адрес страницы
.SetRequestHeader("Content-Type", "multipart/form-data") ; тип отправляемого запроса
.SetRequestHeader('Content-Length', BinaryLen($binFile)) ; длина запроса
.Send(StringToBinary($content, 1)) ; отправляем запрос
Local $sResp = .ResponseText ; получаем ответ
EndWith
Тело файла я попытался всунуть в 4-ю строчку пакета, добавив «value=' & $binFile &'>'». Не прокатило.
Далее я попробовал вставить файл в 5-ю строчку, оставив 4-ю как описано на сайте.
Код:
$content &= '<input type="file" name="file" >' & @LF
$content &= '<input type="submit" value=' & $binFile &' >' & @LF
Тоже не прокатило.
Вопросы:
1. Где при формировании пакета указывается отправляемый графический файл ?
2. Как надо правильно составить пакет ? Надо ли переносить строчки или не надо ? Нужно писать в конце каждой строчки «/>» или же «>» ?
3. Правильно ли я отправляю сформированный пакет на сервер ? Может быть у меня где-то ошибка при отправке ?
4. Выше я привел вопрос по отправке файла с локального диска. А как изменится пакет и способ его отправки, если я решу отправлять графический файл в виде http-ссылки ?
Парни, помогите пожалуйста. Пока не решу вопрос с получением разгаданной капчи – теряется смысл создавать мой скрипт, который я задумал.
Сообщение автоматически объединено:
Я искал как оформить код в Спойлер (тут на форуме), но не нашёл. Извиняюсь.
Если в кого то есть готовые работающие код-заготовки по моему вопросу - буду рад их получить и изучить самостоятельно
Сообщение автоматически объединено:
Всё я разобрался. 3 вечера колдовал. Но победил.
Последнее редактирование: