Что нового

[Сеть, интернет] Как отправить POST запрос с прикрепленным xx.torrent файлом

Nelsy

Знающий
Сообщения
35
Репутация
8
Здравствуйте! Столкнулся с проблемой при отправке POST запроса на создание темы с прикрепленным торрент файлом.
Код:
POST /forum/posting.php HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; U; en) Presto/2.6.30 Version/10.63
Host: post.rutracker.org
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Expect: 100-continue
Referer: http://post.rutracker.org/forum/posting.php?mode=newtopic&f=7
Cookie: spylog_test=1; bb_data=x-xxxxxxxx-xxxxxxxxxxxxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxx-x
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers
Content-Length: 20334
Content-Type: multipart/form-data; boundary=----------THF4runExoL0k3GYlhACMk

------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="mode"

newtopic
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="f"

7
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="t"

0
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="p"

0
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="tor_required"

1
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="subject"

(Название темы)
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="fontFace"

-1
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="codeColor"

black
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="codeSize"

12
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="align"

-1
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="codeUrl2"


------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="message"

(Текст темы)
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="MAX_FILE_SIZE"

256000
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="attach"; filename="Отправляемый торрент файл.torrent"
Content-Type: application/x-bittorrent

( Сдесь распологаются данные торрента примерно в таком виде:
/©Ns’ЦґєHаБй{л‚ъ.h(ГF©ПLћ/г%Ч©ы®KZ~Э{щu#U”оФ§TьХб†Љ»YСЇzщz )
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="preview"

Предв. просмотр
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="form_token"

06dbd3e4adffcb1a567183b944ca8a51
------------THF4runExoL0k3GYlhACMk--
Выше представленный запрос был перехвачен снифером.

Часть запроса которая нас интересует:
Код:
------------THF4runExoL0k3GYlhACMk
Content-Disposition: form-data; name="attach"; filename="Отправляемый торрент файл.torrent"
Content-Type: application/x-bittorrent

( Здесь распологаются данные торрента примерно в таком виде:
/©Ns’ЦґєHаБй{л‚ъ.h(ГF©ПLћ/г%Ч©ы®KZ~Э{щu#U”оФ§TьХб†Љ»YСЇzщz )

Интересует несколько вопросов:
[list type=decimal]
[*]Как правильно записать данные торрент файла(или любого другого, например файла .EXE) в переменную. (Пытался записать с помощью функции FileRead() но по не известным мне причинам данные полностью не записываются)
[*]В каком виде хранить данные. (пытался представить их в Hex виде, но насколько я понял такое кол-во данных не помещается в переменную)
[/list]

Интересуют способы отправки запросов POST содержащих "прикрепленные" файлы, предпочтительно используя стандартные функции или WinHTTP 1.6.1.7.

Приветствуются абсолютно любые идеи по данному вопросу, и коментарии по улучшению/оптимизации ниже представленого кода.

Наработки, используя которые я столкнулся с вышеописанной проблемой
Код:
#Include <String.au3>

$filename = 'ТоррентФайл.torrent'
$filedata = ''
Global $Boundary =  sBoudary('------------')
Dim $sTmpHost[3] = ['login.rutracker.org','rutracker.org','post.rutracker.org']
Dim $sTmpPage[3] = ['forum/login.php','forum/index.php','forum/posting.php']
Dim $sTmpPost[3] = ['login_username=jopiksz&login_password=123456&login=%C2%F5%EE%E4','', $Boundary & @CRLF & _
'Content-Disposition: form-data; name="mode"' & @CRLF & _
@CRLF & _
'newtopic' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="f"' & @CRLF & _
@CRLF & _
'7' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="t"' & @CRLF & _
@CRLF & _
'0' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="p"' & @CRLF & _
@CRLF & _
'0' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="tor_required"' & @CRLF & _
@CRLF & _
'1' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="subject"' & @CRLF & _
@CRLF & _
'Theme Name' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="fontFace"' & @CRLF & _
@CRLF & _
'-1' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="codeColor"' & @CRLF & _
@CRLF & _
'black' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="codeSize"' & @CRLF & _
@CRLF & _
'12' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="align"' & @CRLF & _
@CRLF & _
'-1' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="codeUrl2"' & @CRLF & _
@CRLF & _
@CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="message"' & @CRLF & _
@CRLF & _
'Theme Message' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="MAX_FILE_SIZE"' & @CRLF & _
@CRLF & _
'256000' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="attach"; filename="' & $filename & '"' & @CRLF & _
'Content-Type: application/x-bittorrent' & @CRLF & _
@CRLF & _
$filedata & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="preview"' & @CRLF & _
@CRLF & _
'Предв. просмотр' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="form_token"' & @CRLF & _
@CRLF & _
'06dbd3e4adffcb1a567183b944ca8a51' & @CRLF & _
$Boundary & '--' & @CRLF & @CRLF]


Dim $sTmpConnectType[3] = ['application/x-www-form-urlencoded','','multipart/form-data; boundary=' & $Boundary]
Dim $sTmpReferer = ''
Dim $sTmpCookies = ''

$i = 0
$a = 3
Do
	$sTmpRecv = TCPRequest($sTmpHost[$i], $sTmpPage[$i], $sTmpPost[$i], $sTmpConnectType[$i], $sTmpReferer, $sTmpCookies)
	If $sTmpCookies = '' Then
		$sTmpCookies = GetCookies($sTmpRecv)
	EndIf
	$i = $i + 1
	MsgBox(0,'',$sTmpRecv)
Until $i = $a
Exit

Func GetCookies($sTmpRecv)
	Local $sCookies = '', $aCookies, $i
	$aCookies = _StringBetween($sTmpRecv, 'Set-Cookie: ',';',1)
	For $i = 0 To UBound($aCookies)-1
		$sCookies &= $aCookies[$i]&';'
	Next
	Return $sCookies
EndFunc

Func TCPRequest($sHost = '', $sPage = '', $sPost = '', $sConnectType = '', $sReferer = '', $sCookies = '', $iMaxTime = 10000)
	Local $sPacket, $iSocket, $iTimer
	If $sPost = '' Then
		$sPacket = 'GET /' & $sPage & ' HTTP/1.1' & @CRLF
	Else
		$sPacket = 'POST /' & $sPage & ' HTTP/1.1' & @CRLF
	EndIf
	$sPacket &=	'Host: ' & $sHost & @CRLF & _
				'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12' & @CRLF & _
				'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' & @CRLF & _
				'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3' & @CRLF & _
				'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7' & @CRLF & _
				'Keep-Alive: 115' & @CRLF & _
				'Connection: keep-alive' & @CRLF
	If $sReferer <> '' Then
		$sPacket &= 'Referer: ' & $sReferer & @CRLF
	EndIf
	If $sPost <> '' Then
		$sPacket &= 'Content-Type: ' & $sConnectType & @CRLF
	EndIf
	If $sCookies  <> '' Then
		$sPacket &= 'Cookie: ' & $sCookies & @CRLF
	EndIf
	If $sPost <> '' Then
		$sPacket &= 'Content-Length: ' & StringLen($sPost) & @CRLF
	EndIf
	$sPacket &= @CRLF
	if $sPost <> '' Then
		$sPacket &= $sPost
	EndIf
	ConsoleWrite($sPacket)
	MsgBox(0,'',$sPacket)
	TCPStartup()
	Local $sIp = TCPNameToIP($sHost)
	If @error Then Return SetError(1,0,"")
	$iSocket = TCPConnect($sIp, 80)
	If @error Then Return SetError(2,0,"")
	TCPSend($iSocket, $sPacket)
	If @error Then Return SetError(3,0,"")
	$iTimer = TimerInit()
	Do
		$sRecv = TCPRecv($iSocket, 1024)
		If TimerDiff($iTimer) > $iMaxTime Then Return SetError(4,0,"")
	Until $sRecv <> ""
	Do
		$sRecv &= TCPRecv($iSocket, 1024)
		If TimerDiff($iTimer) > $iMaxTime Then ExitLoop
	Until @error Or StringInStr($sRecv, '</html>')
	TCPCloseSocket($iSocket)
	TCPShutdown()
	Return $sRecv
EndFunc

Func sBoudary($sOut)
	Local $i = 0
	Local $a = 0
	Do
		$a = Random(1,3,1)
		Select
			Case $a = 1
			$sOut &= Chr(Random(Asc("a"), Asc("z"), 1))
			Case $a = 2
			$sOut &= Chr(Random(Asc("A"), Asc("Z"), 1))
			Case $a = 3
			$sOut &= Random(0, 9, 1)
		EndSelect
		$i = $i + 1
	Until $i = 22
	Return $sOut
EndFunc

Код:
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

#include "WinHttp.au3"

Opt("MustDeclareVars", 1)
Global $filename = 'ТоррентФайл.torrent'
Global $filedata = ''
Global $Boundary =  sBoudary('------------')
Func sBoudary($sOut)
	Local $i = 0
	Local $a = 0
	Do
		$a = Random(1,3,1)
		Select
			Case $a = 1
			$sOut &= Chr(Random(Asc("a"), Asc("z"), 1))
			Case $a = 2
			$sOut &= Chr(Random(Asc("A"), Asc("Z"), 1))
			Case $a = 3
			$sOut &= Random(0, 9, 1)
		EndSelect
		$i = $i + 1
	Until $i = 22
	Return $sOut
EndFunc

Global $PostData = $Boundary & @CRLF & _
'Content-Disposition: form-data; name="mode"' & @CRLF & _
@CRLF & _
'newtopic' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="f"' & @CRLF & _
@CRLF & _
'7' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="t"' & @CRLF & _
@CRLF & _
'0' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="p"' & @CRLF & _
@CRLF & _
'0' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="tor_required"' & @CRLF & _
@CRLF & _
'1' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="subject"' & @CRLF & _
@CRLF & _
'Theme Name' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="fontFace"' & @CRLF & _
@CRLF & _
'-1' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="codeColor"' & @CRLF & _
@CRLF & _
'black' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="codeSize"' & @CRLF & _
@CRLF & _
'12' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="align"' & @CRLF & _
@CRLF & _
'-1' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="codeUrl2"' & @CRLF & _
@CRLF & _
@CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="message"' & @CRLF & _
@CRLF & _
'Theme Message' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="MAX_FILE_SIZE"' & @CRLF & _
@CRLF & _
'256000' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="attach"; filename="' & $filename & '"' & @CRLF & _
'Content-Type: application/x-bittorrent' & @CRLF & _
@CRLF & _
$filedata & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="preview"' & @CRLF & _
@CRLF & _
'Предв. просмотр' & @CRLF & _
$Boundary & @CRLF & _
'Content-Disposition: form-data; name="form_token"' & @CRLF & _
@CRLF & _
'06dbd3e4adffcb1a567183b944ca8a51' & @CRLF & _
$Boundary & '--' & @CRLF & @CRLF

Global $hOpen = _WinHttpOpen("Opera/9.80 (Windows NT 6.1; U; en) Presto/2.6.30 Version/10.63")
If @error Then
    MsgBox(48, "Error", "Error initializing the usage of WinHTTP functions.")
    Exit 1
EndIf

; Get connection handle
Global $hConnect = _WinHttpConnect($hOpen, 'login.rutracker.org')
If @error Then
    MsgBox(48, "Error", "Error specifying the initial target server of an HTTP request.")
    _WinHttpCloseHandle($hOpen)
    Exit 2
EndIf

; Make a request
Global $hRequest = _WinHttpOpenRequest($hConnect, "POST", 'forum/login.php')
If @error Then
    MsgBox(48, "Error", "Error creating an HTTP request handle.")
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Exit 3
EndIf

; Send it. Specify additional data to send too.
_WinHttpSendRequest($hRequest, "Content-Type: application/x-www-form-urlencoded", 'login_username=jopiksz&login_password=123456&login=%C2%F5%EE%E4')
If @error Then
    MsgBox(48, "Error", "Error sending specified request.")
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Exit 4
EndIf

_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)

$hConnect = _WinHttpConnect($hOpen, 'post.rutracker.org')
If @error Then
    MsgBox(48, "Error", "Error specifying the initial target server of an HTTP request.")
    _WinHttpCloseHandle($hOpen)
    Exit 2
EndIf

$hRequest = _WinHttpOpenRequest($hConnect, "POST", 'forum/posting.php')
If @error Then
    MsgBox(48, "Error", "Error creating an HTTP request handle.")
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Exit 3
EndIf

_WinHttpSendRequest($hRequest, 'Content-Type: multipart/form-data; boundary=' & $Boundary, $PostData)
If @error Then
    MsgBox(48, "Error", "Error sending specified request.")
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    Exit 4
EndIf

_WinHttpReceiveResponse($hRequest)

Global $sHeader
If _WinHttpQueryDataAvailable($hRequest) Then $sHeader = _WinHttpQueryHeaders($hRequest) ; ...get full header

; See if there is data to read
Global $sChunk, $sData
If _WinHttpQueryDataAvailable($hRequest) Then
    ; Read
    While 1
        $sChunk = _WinHttpReadData($hRequest)
        If @error Then ExitLoop
        $sData &= $sChunk
    WEnd
    ConsoleWrite($sData & @CRLF) ; print to console
Else
    MsgBox(48, "Error", "Site is experiencing problems.")
EndIf

_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)

MsgBox(0, "Header", $sHeader)
 

r35p3ct

Продвинутый
Сообщения
228
Репутация
60
Nelsy [?]
Как правильно записать данные торрент файла(или любого другого, например файла .EXE) в переменную. (Пытался записать с помощью функции FileRead() но по не известным мне причинам данные полностью не записываются)

Код:
$fileopen = FileOpen($file,16)
While 1
    $t = FileRead($fileopen, 1)
    If @error Then ExitLoop
    If $t <> 0x00 Then $fileread &= BinaryToString($t)
WEnd
FileClose($fileopen)
ConsoleWrite($fileread & @LF)


Задавал подобный вопрос На Офф. форуме, но ответа нет. Наверно на Autoit загрузить бинарный файл не возможно.
 
Автор
N

Nelsy

Знающий
Сообщения
35
Репутация
8
Спасибо за помощь.

Почитал темку на которую вы дали ссылку, очень понравился мне компактно описаный там код, встречал и ранее примеры с использованием winhttp 5.1. Но у меня почему то не работала строка: $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1"), а сейас скопировал тот код и сделал проверку - ошибок теперь нету. Подскажите пожалуйста где можно почитать справку по использованию WinHttp.WinHttpRequest.5.1 в AutoIt? У меня windows 7 64 bit, библиотека winhttp.dll версии 6.1, интересно могу ли я использовать тот пример за основу и переделать мои варианты кода которые я выложил выше под работу с данной библиотекой?

Нашел инфу по данному вопросу:

Nelsy сказал(а):
В англ я не силен но вот на ОФФ форуме есть вроде как пример как загрузить фаил используя WinHttp.au3 версии 1.6.1.6 и выше.

trancexx сказал(а):
Here's an example how to upload file using WinHttp.au3. I've added event monitoring to (obvious follows) monitor events.

Код:
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

#include "WinHttp.au3"

Opt("MustDeclareVars", 1)

;=====================================================================
; Page and Form info
; http://www.cs.tut.fi/~jkorpela/forms/file.html
Global Const $sAddress = "www.cs.tut.fi"
Global Const $sPage = "~jkorpela/forms/file.html"
Global Const $sFormId = "index:0" ;<- meaning first form on the page
;=====================================================================

; Register Callback function to monitor events
Global $hWINHTTP_STATUS_CALLBACK = DllCallbackRegister("__WINHTTP_STATUS_CALLBACK", "none", "handle;dword_ptr;dword;ptr;dword")

; Initialize and get session handle (impersonating Chrome browser)
Global $hOpen = _WinHttpOpen("Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4")

; Associate callback function with this handle
_WinHttpSetStatusCallback($hOpen, $hWINHTTP_STATUS_CALLBACK)

; Get connection handle
Global $hConnect = _WinHttpConnect($hOpen, $sAddress)
Global $sHTM = _WinHttpSimpleFormFill($hConnect, $sPage, $sFormId, _
        "name:datafile", @ScriptFullPath, _
        "txt", "Private dancer.")

ConsoleWrite(">Server response:" & @CRLF & $sHTM & @CRLF)

_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)



; Define callback function
Func __WINHTTP_STATUS_CALLBACK($hInternet, $iContext, $iInternetStatus, $pStatusInformation, $iStatusInformationLength)
    #forceref $hInternet, $iContext, $pStatusInformation, $iStatusInformationLength
    ConsoleWrite("!-> ")
    ; Interpret the status
    Local $sStatus
    Switch $iInternetStatus
        Case $WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION
            $sStatus = "Closing the connection to the server"
        Case $WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER
            $sStatus = "Successfully connected to the server."
        Case $WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER
            $sStatus = "Connecting to the server."
        Case $WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED
            $sStatus = "Successfully closed the connection to the server."
        Case $WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE
            $sStatus = "Data is available to be retrieved with WinHttpReadData."
        Case $WINHTTP_CALLBACK_STATUS_HANDLE_CREATED
            $sStatus = "An HINTERNET handle has been created."
        Case $WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING
            $sStatus = "This handle value has been terminated."
        Case $WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE
            $sStatus = "The response header has been received and is available with WinHttpQueryHeaders."
        Case $WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE
            $sStatus = "Received an intermediate (100 level) status code message from the server."
        Case $WINHTTP_CALLBACK_STATUS_NAME_RESOLVED
            $sStatus = "Successfully found the IP address of the server."
        Case $WINHTTP_CALLBACK_STATUS_READ_COMPLETE
            $sStatus = "Data was successfully read from the server."
        Case $WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE
            $sStatus = "Waiting for the server to respond to a request."
        Case $WINHTTP_CALLBACK_STATUS_REDIRECT
            $sStatus = "An HTTP request is about to automatically redirect the request."
        Case $WINHTTP_CALLBACK_STATUS_REQUEST_ERROR
            $sStatus = "An error occurred while sending an HTTP request."
        Case $WINHTTP_CALLBACK_STATUS_REQUEST_SENT
            $sStatus = "Successfully sent the information request to the server."
        Case $WINHTTP_CALLBACK_STATUS_RESOLVING_NAME
            $sStatus = "Looking up the IP address of a server name."
        Case $WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED
            $sStatus = "Successfully received a response from the server."
        Case $WINHTTP_CALLBACK_STATUS_SECURE_FAILURE
            $sStatus = "One or more errors were encountered while retrieving a Secure Sockets Layer (SSL) certificate from the server."
        Case $WINHTTP_CALLBACK_STATUS_SENDING_REQUEST
            $sStatus = "Sending the information request to the server."
        Case $WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE
            $sStatus = "The request completed successfully."
        Case $WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE
            $sStatus = "Data was successfully written to the server."
    EndSwitch
    ; Print it
    ConsoleWrite($sStatus & @CRLF)
EndFunc   ;==>__WINHTTP_STATUS_CALLBACK

К сожалению, их примера я не вкурил, но надеюсь на ваш опыт и заинтересованность в данном деле, если кто ни будь разберется - буду очень презнателен за более наглядный пример.

На следующей страничке послее вышеупомянутого сообщения от trancexx, ему задали вопрос на тему(загрузки файлов), как мне показалось они решили данный вопрос.

ПС: Прошу извинить за возможную не точность в предоставленной информации, у меня плохие познания в облости программирования на AutoIt да и в Английском я не хорош, к сожалению это все чем я могу с вами поделится =(
 
Верх