nhlstar
Новичок
- Сообщения
- 8
- Репутация
- 0
Шалом, бояре!
Имеется следующая проблема:
Для распознавания капчи использую прогу GSA Captcha Breaker, в него post-запросом нужно отправить содержимое капчи, обшарив форум пытаюсь сформировать запрос, но вместо результата скрипт выдает пустое значение.
HTML:
Заголовок отправляемого запроса (смотрел в IE)
Текст запроса (смотрел так же в IE после отправки в ручном режиме.
Вроде бы воспроизвел все в точности, но сервер результат не возвращает :stars:
Имеется следующая проблема:
Для распознавания капчи использую прогу GSA Captcha Breaker, в него post-запросом нужно отправить содержимое капчи, обшарив форум пытаюсь сформировать запрос, но вместо результата скрипт выдает пустое значение.
HTML:
<html>
<head>
<title>GSA Captcha Breaker</title>
</head>
<body>
<h1>Upload a captcha to test</h1>
<form id="gsa_form" name="gsa_form" method="post" enctype="multipart/form-data" action="/gsa_test.gsa">Image
<input type="file" name="file" id="gsa_file" value="C:\Program Files (x86)\GSA Captcha Breaker\test.png">
<input type="hidden" name="source_url" value="">
<input type="hidden" name="captcha_platform" value="">
<input type="submit" name="action" id="gsa_button" value="Submit">
</form>
</body>
</html>
<head>
<title>GSA Captcha Breaker</title>
</head>
<body>
<h1>Upload a captcha to test</h1>
<form id="gsa_form" name="gsa_form" method="post" enctype="multipart/form-data" action="/gsa_test.gsa">Image
<input type="file" name="file" id="gsa_file" value="C:\Program Files (x86)\GSA Captcha Breaker\test.png">
<input type="hidden" name="source_url" value="">
<input type="hidden" name="captcha_platform" value="">
<input type="submit" name="action" id="gsa_button" value="Submit">
</form>
</body>
</html>
Ключ Значение
Запрос POST /gsa_test.gsa HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Referer 127.0.0.1/gsa_test.gsa
Accept-Language ru-RU
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
Content-Type multipart/form-data; boundary=---------------------------7df17a1d5073e
Accept-Encoding gzip, deflate
Host 127.0.0.1
Content-Length 7266
Connection Keep-Alive
Cache-Control no-cache
Запрос POST /gsa_test.gsa HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Referer 127.0.0.1/gsa_test.gsa
Accept-Language ru-RU
User-Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
Content-Type multipart/form-data; boundary=---------------------------7df17a1d5073e
Accept-Encoding gzip, deflate
Host 127.0.0.1
Content-Length 7266
Connection Keep-Alive
Cache-Control no-cache
-----------------------------7df17a1d5073e
Content-Disposition: form-data; name="file"; filename="FILE.png"
Content-Type: image/png
<Данные двоичного файла не отображаются>
---------------------------7df17a1d5073e
Content-Disposition: form-data; name="source_url"
-----------------------------7df17a1d5073e
Content-Disposition: form-data; name="captcha_platform"
-----------------------------7df17a1d5073e
Content-Disposition: form-data; name="action"
Submit
-----------------------------7df17a1d5073e--
Content-Disposition: form-data; name="file"; filename="FILE.png"
Content-Type: image/png
<Данные двоичного файла не отображаются>
---------------------------7df17a1d5073e
Content-Disposition: form-data; name="source_url"
-----------------------------7df17a1d5073e
Content-Disposition: form-data; name="captcha_platform"
-----------------------------7df17a1d5073e
Content-Disposition: form-data; name="action"
Submit
-----------------------------7df17a1d5073e--
Код:
#include "WinHTTP.au3"
Local $File = @scriptdir & "\FILE.png"
Local $oFile = FileOpen($File,16) ;Содержимое картинки
Local $binFile = FileRead($oFile)
;Текст запроса
Local $boundary = '-----------------------------7df20a346035e'
Local $content = $boundary & @LF
$content &= 'Content-Disposition: form-data; name="file"; filename="FILE.png"' & @LF
$content &= 'Content-Type: image/png' & @LF
$content &= @LF
$content &= $binFile & @LF
$content &= $boundary & @LF
$content &= 'Content-Disposition: form-data; name="source_url"' & @LF & @LF & @LF
$content &= $boundary & @LF
$content &= 'Content-Disposition: form-data; name="captcha_platform"' & @LF & @LF & @LF
$content &= $boundary & '--'
;отправка капчи
Local $oRequest = ObjCreate('WinHttp.WinHttpRequest.5.1') ;Создаём COM-объект
$oRequest.Open('POST', 'http://127.0.0.1/gsa_test.gsa', 0) ;Создаём соеденение
$oRequest.SetRequestHeader('Accept', 'text/html, application/xhtml+xml, */*')
$oRequest.SetRequestHeader('Referer', 'http://127.0.0.1/gsa_test.gsa')
$oRequest.SetRequestHeader('Accept-Language', 'ru-RU')
$oRequest.SetRequestHeader('User-Agent', 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)')
$oRequest.SetRequestHeader('Content-Type', 'multipart/form-data; boundary=' & $boundary)
$oRequest.SetRequestHeader('Accept-Encoding', 'gzip, deflate')
$oRequest.SetRequestHeader('Host', '127.0.0.1')
$oRequest.SetRequestHeader('Content-Length', BinaryLen($binFile))
$oRequest.SetRequestHeader('Connection', 'Keep-Alive')
$oRequest.SetRequestHeader('Cache-Control', 'no-cache')
$oRequest.Send(StringToBinary($content, 1)) ; отправляем запрос
Local $sResp = $oRequest.ResponseText ; получаем ответ
MsgBox(32,'$sResp',$sResp) ;Возвращает пустое значение
Вроде бы воспроизвел все в точности, но сервер результат не возвращает :stars: