#include <VK_API_XML.au3>
_VK_LogIN($VK_LogIN, $VK_PassWORD, $VK_API_ID)
$sLocalFile = FileOpenDialog('Откройте файл',@ScriptDir,'все(*.*)')
Global $UploadUrl = _VK_Get("photos.getUploadServer", "album_id=184545910")
$hostBegin=StringInStr($UploadUrl[1][1],'vk.com')
$sHost=StringLeft($UploadUrl[1][1],$hostBegin+5);Адрес страницы загрузки
ConsoleWrite($sHost&@CR)
$sFormAction = $UploadUrl[1][1] ;Действие формы загрузки (из формы "form action=...upload.php)"
ConsoleWrite($sFormAction&@CR)
$sFormName = 'photo_file' ;Имя формы загрузки ("input name=uploadfile")
$status = _TCPFileUpload($sLocalFile, $sHost, $sFormAction, $sFormName)
ConsoleWrite($status&@CR)
Func _TCPFileUpload($sLocalFile, $sHost, $sFormAction, $sFormName)
Local $sFileRead, $sFileType, $sBoundary, $sData, $iDataSize, $sHeader, $sCommand, $iSocket, $sRecv
$sHost = StringRegExpReplace($sHost, '(?i)^https?://', '')
$sHost = StringRegExpReplace($sHost, '(?i)^http?://', '')
$sFileRead = FileRead($sLocalFile)
$sFileType = StringRegExpReplace($sLocalFile, '^.*\.', '')
If $sFileType = 'jpg' Then $sFileType = 'jpeg'
$sBoundary = StringFormat('----------------%s%s%smzF', @MIN, @HOUR, @SEC)
$sData = '--' & $sBoundary & @CRLF & _
'Content-Disposition: form-data; name="' & $sFormName & '"; filename="' & StringRegExpReplace($sLocalFile, '^.*\\', '') & '"' & @CRLF & _
'Content-Type: image/' & $sFileType & @CRLF & @CRLF & _
$sFileRead & @CRLF & '--' & $sBoundary & '--' & @CRLF
$iDataSize = StringLen($sData)
$sHeader = 'POST ' & $sFormAction & ' HTTP/1.1' & @CRLF & _
'Host: ' & $sHost & @CRLF & _
'Connection: close' & @CRLF & _
'Content-Type: multipart/form-data; boundary=' & $sBoundary & @CRLF & _
'Content-Length: ' & $iDataSize & @CRLF & @CRLF
$sCommand = $sHeader & $sData
TCPStartup()
$iSocket = TCPConnect(TCPNameToIP($sHost), 80)
TCPSend($iSocket, $sCommand)
While 1
$sRecv &= TCPRecv($iSocket, 20000)
If StringLen($sRecv) <> 0 Then ExitLoop
Sleep(50)
WEnd
TCPShutdown()
Return $sRecv
EndFunc
#include <VK_Desktop_API.au3>
_VK_API_OAuth('E-MAIL', 'PASSWORD', 'APP_ID')
_VK_GetMethod('METHOD_NAME_1')
_ArrayDisplay($vARR)
$YourConst = _VK_GetMethod('METHOD_NAME_2')
_ArrayDisplay($YourConst)
Func _VK_GUI_Captcha($sCaptchaID)
$URL = 'http://vk.com/captcha.php?sid='&$sCaptchaID
InetGet($URL, @TempDir&'captcha.jpeg')
$hGUI = GUICreate('Captcha #'&$sCaptchaID, 130, 100)
$capPic = GUICtrlCreatePic('', 0, 0, 130, 50)
GUICtrlSetImage($capPic, @TempDir&'captcha.jpeg')
$capInp = GUICtrlCreateInput("", 5, 55, 120, 20)
$capBut = GUICtrlCreateButton("OK", 20, 75, 85, 25)
GUISetState()
While 1
$iMsg = GUIGetMsg()
Select
Case $iMsg = -3
$capText = False
Exit
Case $iMsg = $capBut
$capText = GUICtrlRead($capInp)
ExitLoop
EndSelect
WEnd
GUIDelete($hGUI)
If ($capText) Then
Return $capText
EndIf
EndFunc
InetGet($URL, @TempDir&'\captcha.jpeg')
$VK_album_id = "" ;Указываем ID альбома
$pURLs[1][1] - необходимая ссылка
$sLocalFile - путь к файлу
$sHost - имя сервера ВК
$TCPFileUpload - переменная для сохранения результатов отправки файла на сервер ВК
В ответ приложение получает следующие данные в формате JSON: {"server": '1', "photos_list": '2,3,4', "aid": '5', "hash": '12345abcde'}
через StringRegExpReplace обрабатываем и получаем необходимые данные, для дальнейшего использования
Как параметры передаем ID альбом пользователя, а так же обработанные данные из переменной $TCPFileUpload
$VK_LogIN = ""
$VK_PassWORD = ""
$VK_API_ID = "2987875"
_VK_API_OAuth($VK_LogIN, $VK_PassWORD, $VK_API_ID, True)
;~ -------------------------------------------------------------------------------
;~ Example of downloading music for the current user
;~ -------------------------------------------------------------------------------
$vARR = _VK_GetMethod("audio.get", "count=20")
_ArrayDisplay($vARR)
_VK_API_OAuth($VK_LogIN, $VK_PassWORD, $VK_Cookie = False, $VK_API_ID = Default, $VK_Scope = 2015231)
#include <VK_Desktop_API.au3>
_VK_API_OAuth('E-MAIL', 'PASSWORD')
_VK_GetMethod('METHOD_NAME_1')
_ArrayDisplay($vARR)
#include <VK_Desktop_API.au3>
_VK_API_OAuth('E-MAIL', 'PASSWORD', True)
_VK_GetMethod('METHOD_NAME_1')
_ArrayDisplay($vARR)
#include <VK_Desktop_API.au3>
_VK_API_OAuth('E-MAIL', 'PASSWORD', True, 'APP_ID')
_VK_GetMethod('METHOD_NAME_1')
_ArrayDisplay($vARR)
Коршун сказал(а):Опять при загрузке фото на сервер - photos_list":"[]" :stars:
Как это лечить в принципе? что проверять??
Коршун сказал(а):Опять при загрузке фото на сервер - photos_list":"[]" :stars:
Как это лечить в принципе? что проверять??