Что нового

[Сеть, интернет] Отправка ИД и Ключа

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Как сделать отправку из Списка на сервер



Код:
Func _TwoWindow()
local $Form7, $Group7, $Group8, $Group9, $Edit7,$Edit9, $Input8, $Button7, $Button8, $Button9
$Form7 = GUICreate("Качаем бицуху", 625, 445, 192, 124)
$Group7 = GUICtrlCreateGroup("Список", 8, 8, 297, 425)
$Edit7 = GUICtrlCreateEdit("", 16, 24, 273, 369)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button7 = GUICtrlCreateButton("Извлеч из ...", 16, 400, 105, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Пользователь", 328, 8, 281, 49)
$Input8 = GUICtrlCreateInput("", 344, 24, 249, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group9 = GUICtrlCreateGroup("Информация", 328, 72, 281, 305)
$Edit9 = GUICtrlCreateEdit("", 336, 88, 257, 281)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("Получить", 328, 400, 129, 33, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Закрыть", 480, 400, 129, 33, $WS_GROUP)
$sexit = GUICtrlDelete($Form7)
GUISetState(@SW_SHOW)
While 1
	$smsg = GUIGetMsg();
	Switch $smsg
			Case $GUI_EVENT_CLOSE
				GUIDelete($Form7)
				ExitLoop
	EndSwitch
	Switch $smsg
		Case $Button7
$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
$Read = FileRead($text)
GUICtrlSetData($Edit7, $Read)
EndSwitch
	Switch $smsg = $Button9
			Case $GUI_EVENT_CLOSE
				GUIDelete($Form7)
				ExitLoop
EndSwitch

WEnd

EndFunc


Код на дельфи
var
Form1: TForm1;
tst: TStringList;

implementation

{$R *.DFM}

procedure TNewThread.Execute;
var
i,j:integer;
s,t:string;
begin
for i:= 0 to Form1.memo1.Lines.Count - 1 do
begin
s:=Form1.Memo1.Lines;
j:=Pos(':', s);
try
tst := TStringList.Create;
tst.Add('model_id=1');
tst.Add('friend_uid='+form1.Edit1.Text);
tst.Add('user='+Copy(s, 1, j-1));
tst.Add('vote=5');
tst.Add('key='+copy(s,ansipos(':',s)+1,length(s)));
tst.Add('method=voteForFriend');
t:=Form1.idHTTP1.Post('http://109.234.155.196/prison/universal.php?voteForFriend',tst);
if pos('success vote',t)<>0 then begin
Form1.Memo2.Lines.Add('Ïîçâàí ñ id='+Copy(s, 1, j-1)+' :smile:');
end;
if pos('<code>1</code>',t)<>0 then begin
Form1.Memo2.Lines.Add('Íå óäàëîñü ñ id='+Copy(s, 1, j-1)+' :(');
end;
if pos('<result>0</result>',t)<>0 then begin
Form1.Memo2.Lines.Add('Îøèáêà ïðîâåðòå ïðàâèëüíîñòü id:auth');
end;
except on e : EIDHttpProtocolException do
Begin
if e.ReplyErrorCode = 500 then
Form1.Memo2.Lines.Add('500 Internal Server Error');
end;
end;
end;
end;



Добавлено:
Сообщение автоматически объединено:

Это должно выглядить как то так
Код:
local $response
	$PostData = 'user=' & $sUser & '&sig=9657510905665054df4c085a1b359445&key=' & $sAuth & '&method=voteForFriend' ; позвать в качалку
	$oHTTP.Open('POST', $GetStr)
	$oHTTP.setTimeouts(5000, 5000, 10000, 10000)
	$oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	$oHTTP.Send($PostData)
	$oHTTP.WaitForResponse
	$Response = $oHTTP.ResponseText
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Там все жутко непонятно


Добавлено:
Сообщение автоматически объединено:

У меня получилось это

Код:
Func _Str()
Local $User = StringSplit($fake,@CRLF) 

;

Local $ii=1
                 For $ii=1 To $fUser[0] 
            $key=StringSplit($fUser[$ii],':') 
         For $i = 1 To $User[0] 

	$PostData5 = 'user=' & $fUser &'&model_id=1' '&sig=b6e36cf4b383e362f6fe80a2aed79e8d&&model_id=1''&friend_uid='& $User & '&sex=0' '&vote=5' '&key=' & $fAuth & '&method=voteForFriend' 
	$oHTTP.Open('POST', $GetStr)
	$oHTTP.setTimeouts(5000, 5000, 10000, 10000)
	$oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	$oHTTP.Send($PostData5)
	$oHTTP.WaitForResponse
	$Response3 = $oHTTP.ResponseText
            Sleep(1000)
          Next
        Sleep(1000)
	Next

EndFunc


но работать не хочет


Добавлено:
Сообщение автоматически объединено:

Не могу понять что не так :mad:

Код:
Func _TwoWindow()
local $Form7, $Group7, $Group8, $Group9, $fake,$Edit9, $Input8, $Button7, $Button8, $Button9
$Form7 = GUICreate("Качаем бицуху", 625, 445, 192, 124)
$Group7 = GUICtrlCreateGroup("Список", 8, 8, 297, 425)
$fake = GUICtrlCreateEdit(":", 16, 24, 273, 369)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button7 = GUICtrlCreateButton("Извлеч из ...", 16, 400, 105, 25, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Пользователь", 328, 8, 281, 49)
$Input8 = GUICtrlCreateInput("", 344, 24, 249, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group9 = GUICtrlCreateGroup("Информация", 328, 72, 281, 305)
$Edit9 = GUICtrlCreateEdit("", 336, 88, 257, 281)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("Получить", 328, 400, 129, 33, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Закрыть", 480, 400, 129, 33, $WS_GROUP)
$sexit = GUICtrlDelete($Form7)
GUISetState(@SW_SHOW)
While 1
	$smsg = GUIGetMsg();
	Switch $smsg
			Case $GUI_EVENT_CLOSE
				GUIDelete($Form7)
				ExitLoop
	EndSwitch
	Switch $smsg
		Case $Button7
$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
$Read = FileRead($text)
_str()
GUICtrlSetData($fake, $Read)
EndSwitch
	Switch $smsg = $Button9
			Case $GUI_EVENT_CLOSE
				GUIDelete($Form7)
				ExitLoop
EndSwitch

WEnd

EndFunc


Func _Str()
Local $fUser = StringSplit($fake,@CRLF)

;

Local $ii=1
                 For $ii=1 To $fUser[0]
            $fAuth=StringSplit($fUser[$ii],':')
         For $i = 1 To $User[0]

	$PostData5 = 'user=' & $fUser &'&model_id=1' &'&sig=b6e36cf4b383e362f6fe80a2aed79e8d' &'&model_id=1''&friend_uid='& $User & '&sex=0' &'&vote=5' &'&key=' & $fAuth & '&method=voteForFriend' 
	$oHTTP.Open('POST', $GetStr)
	$oHTTP.setTimeouts(5000, 5000, 10000, 10000)
	$oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	$oHTTP.Send($PostData5)
	$oHTTP.WaitForResponse
	$Response5 = $oHTTP.ResponseText
            Sleep(1000)
          Next
        Sleep(1000)
	Next

EndFunc
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
Какие именно проявления "но работать не хочет":
Ошибки?
Крах программы?
Программы выполняется, но результат не ожидаемый/"нулевой"?
В какой строчке кода ошибка?
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Нулевой результат :(


Добавлено:
Сообщение автоматически объединено:

вроде все так а не работает(
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
DarkCrush
Не скупитесь, опишите подробнее. Что функция запрашивает. Что должна вернуть и т.д.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
DarkCrush
У тебя $fake - это не строка, а элемент Edit GUI... попробуй заменить :
Код:
Local $fUser = StringSplit($fake,@CRLF)

на
Код:
Local $fUser = StringSplit(GUICtrlRead($fake),@CRLF)



Добавлено:
Сообщение автоматически объединено:

DarkCrush [?]
$PostData5 = 'user=' & $fUser &'&model_id=1' &'&sig=b6e36cf4b383e362f6fe80a2aed79e8d' &'&model_id=1''&friend_uid='& $User & '&sex=0' &'&vote=5' &'&key=' & $fAuth & '&method=voteForFriend'
а тут вообще массивы подставляешь без указания индекса массива :wacko:


Добавлено:
Сообщение автоматически объединено:

Извлечь пишется с мягким знаком, а тебе надо учить Мат.часть - справка AutoIT ( прочти о StringSplit() и сразу поймешь почему ничего не работает.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
без проверки, комментарии в коде.
Код:
Func _TwoWindow()
local $Form7, $Group7, $Group8, $Group9, $fake,$Edit9, $Input8, $Button7, $Button8, $Button9
$Form7 = GUICreate("Качаем бицуху", 625, 445, 192, 124)
$Group7 = GUICtrlCreateGroup("Список", 8, 8, 297, 425)
$fake = GUICtrlCreateEdit(":", 16, 24, 273, 369)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button7 = GUICtrlCreateButton("Извлеч из ...", 16, 400, 105, 25, $WS_GROUP) ; Извлечь =)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Пользователь", 328, 8, 281, 49)
$Input8 = GUICtrlCreateInput("", 344, 24, 249, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group9 = GUICtrlCreateGroup("Информация", 328, 72, 281, 305)
$Edit9 = GUICtrlCreateEdit("", 336, 88, 257, 281)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("Получить", 328, 400, 129, 33, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Закрыть", 480, 400, 129, 33, $WS_GROUP)
$sexit = GUICtrlDelete($Form7)
GUISetState(@SW_SHOW)
While 1
    $smsg = GUIGetMsg();
    Switch $smsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form7)
                ExitLoop
    EndSwitch
    Switch $smsg
        Case $Button7
$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
$Read = FileRead($text)

GUICtrlSetData($fake,$Read)


_str() ; функцию надо вызывать после того как ты заполнил данные.

EndSwitch
    Switch $smsg = $Button9
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form7)
                ExitLoop
EndSwitch

WEnd

EndFunc


Func _Str()

Local $fUser = StringSplit(GuiCtrlRead($fake),@CRLF) ; не всегда именно так делается переход на другую строку
; может  и так быть
;Local $fUser = StringSplit(GuiCtrlRead($fake),@CR)
;  и так
;Local $fUser = StringSplit(GuiCtrlRead($fake),@LF)
; проще сделать так:

if StringInStr(GUICtrlRead($fake),@CRLF) > 0 Then $fUser = StringSplit($fake,@CRLF)
if StringInStr(GUICtrlRead($fake),@CR) > 0 Then $fUser = StringSplit($fake,@CR)
if StringInStr(GUICtrlRead($fake),@LF) > 0 Then $fUser = StringSplit($fake,@LF)

Local $ii=1
                 For $ii=1 To $fUser[0]
            $fAuth=StringSplit($fUser[$ii],':')
       
    $PostData5 = 'user=' & $fAuth[1] &'&model_id=1' &'&sig=b6e36cf4b383e362f6fe80a2aed79e8d' &'&model_id=1''&friend_uid='& $User & '&sex=0' &'&vote=5' &'&key=' & $fAuth[2] & '&method=voteForFriend'
    $oHTTP.Open('POST', $GetStr)
    $oHTTP.setTimeouts(5000, 5000, 10000, 10000)
    $oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    $oHTTP.Send($PostData5)
    $oHTTP.WaitForResponse
    $Response5 = $oHTTP.ResponseText
            Sleep(1000)
          Next
        Sleep(1000)
    Next

EndFunc
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Да все равно не хочет работать :smile:

То что я намудрил запускается без ошибок, но не работает :blink: :wacko:
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
DarkCrush сказал(а):
Да все равно не хочет работать :smile:
подправил код


Добавлено:
Сообщение автоматически объединено:

Guezt Gutsy [?]
&model_id=1' &'&sig=b6e36cf4b383e362f6fe80a2aed79e8d' &'&model_id=1
уверен что два раза надо model_id отправлять в запросе ?


Добавлено:
Сообщение автоматически объединено:

Код:
Func _TwoWindow()
local $Form7, $Group7, $Group8, $Group9, $fake,$Edit9, $Input8, $Button7, $Button8, $Button9
$Form7 = GUICreate("Качаем бицуху", 625, 445, 192, 124)
$Group7 = GUICtrlCreateGroup("Список", 8, 8, 297, 425)
$fake = GUICtrlCreateEdit(":", 16, 24, 273, 369)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
$Button7 = GUICtrlCreateButton("Извлеч из ...", 16, 400, 105, 25, $WS_GROUP) ; Извлечь =)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group8 = GUICtrlCreateGroup("Пользователь", 328, 8, 281, 49)
$Input8 = GUICtrlCreateInput("", 344, 24, 249, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group9 = GUICtrlCreateGroup("Информация", 328, 72, 281, 305)
$Edit9 = GUICtrlCreateEdit("", 336, 88, 257, 281)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button8 = GUICtrlCreateButton("Получить", 328, 400, 129, 33, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Закрыть", 480, 400, 129, 33, $WS_GROUP)
$sexit = GUICtrlDelete($Form7)
GUISetState(@SW_SHOW)
While 1
    $smsg = GUIGetMsg();
    Switch $smsg
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form7)
                ExitLoop
    EndSwitch
    Switch $smsg
        Case $Button7
$text = FileOpenDialog("Указать файл", @WorkingDir & "", "Любой (*.txt)", 1 + 4 )
$Read = FileRead($text)

GUICtrlSetData($fake,$Read)


_str() ; функцию надо вызывать после того как ты заполнил данные.

EndSwitch
    Switch $smsg = $Button9
            Case $GUI_EVENT_CLOSE
                GUIDelete($Form7)
                ExitLoop
EndSwitch

WEnd

EndFunc


Func _Str()

Local $fUser = StringSplit(GuiCtrlRead($fake),@CRLF) ; не всегда именно так делается переход на другую строку
; может  и так быть
;Local $fUser = StringSplit(GuiCtrlRead($fake),@CR)
;  и так
;Local $fUser = StringSplit(GuiCtrlRead($fake),@LF)
; проще сделать так:

if StringInStr(GUICtrlRead($fake),@CRLF) > 0 Then $fUser = StringSplit($fake,@CRLF)
if StringInStr(GUICtrlRead($fake),@CR) > 0 Then $fUser = StringSplit($fake,@CR)
if StringInStr(GUICtrlRead($fake),@LF) > 0 Then $fUser = StringSplit($fake,@LF)

Local $ii=1
                 For $ii=1 To $fUser[0]
            $fAuth=StringSplit($fUser[$ii],':')
       
    $PostData5 = 'user=' & $fAuth[1] &'&sig=b6e36cf4b383e362f6fe80a2aed79e8d' &'&model_id=1''&friend_uid='& $User & '&sex=0' &'&vote=5' &'&key=' & $fAuth[2] & '&method=voteForFriend'
    $oHTTP.Open('POST', $GetStr)
    $oHTTP.setTimeouts(5000, 5000, 10000, 10000)
    $oHTTP.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    $oHTTP.Send($PostData5)
    $oHTTP.WaitForResponse
    $Response5 = $oHTTP.ResponseText
            Sleep(1000)
          Next
        Sleep(1000)
    Next

EndFunc
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1



Добавлено:
Сообщение автоматически объединено:

Ой а вот это косяк с моделью=)

Вообще запрос такой

Код:
user=3908133&key=7**********&username=%D0%9F%D0%B0%D0%B2%D0%B5%D0%BB+%D0%A2%D0%B5%D1%80%D1%91%D1%85%D0%B8%D0%BD&sig=40c6122225add2ea31e900f6c1886f32&friend_uid=14548037&sex=0&vote=5&model_id=1&method=voteForFriend
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
DarkCrush
Код:
GUICtrlSetData($fake,$Read)
_str() ; функцию надо вызывать после того как ты заполнил данные.

в таком порядке идет у тебя или наоборот ?
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
вот еще тут надо заменить:
Код:
;....
Func _Str()

Local $fUser
if StringInStr(GUICtrlRead($fake),@CRLF) > 0 Then $fUser = StringSplit(GUICtrlRead($fake),@CRLF)
if StringInStr(GUICtrlRead($fake),@CR) > 0 Then $fUser = StringSplit(GUICtrlRead($fake),@CR)
if StringInStr(GUICtrlRead($fake),@LF) > 0 Then $fUser = StringSplit(GUICtrlRead($fake),@LF)
;...
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Все та же ошибка, отказывается работать( :wacko:
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
не знаю, попробуй тогда данные id:auth передавать тогда напрямую с файла сделай просто так:
1) читаем файл вставляем данные в поле Edit ( вопрос только зачем они там... )
2) то что прочитали из файла сразу передаем функции без "прочитать из файла - вставить в Edit - считать с Edit отправить в функцию" делай сразу считать файл и отправить его на обработку в функцию и эти же данные вставь в Edit
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
А ты попробовать сделать этот вариант не можешь?
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
DarkCrush
да уж и так, т.к. ты не хочешь сам попробовать разобраться и проверки нет у тебя надо ли вообще делать vote
Код:
$i=FileRead(@ScriptDir&'ake.txt') ; файл с фейками

;~ $fakeUser = StringSplit($i,@CRLF)
$fakeUser = StringSplit($i,@LF)

$sUser='123456789' ; ID кому делаешь запрос

$ii=1

_My_Func()
    Func _My_Func()
    $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
     $URL = 'http://109.234.156.250/prison/universal.php?voteForFriend'
     $URL2 = 'http://109.234.156.250/prison/universal.php?getFriendModels' ; заход в камеру для получения надо качать
            For $ii=1 To $fakeUser[0]
            $key=StringSplit($fakeUser[$ii],':')
      $Post0 = 'user='&$key[1]&'&key='&$key[2]&'&friend%5Fuid='&$sUser&'&sig=b6e36cf4b383e362f6fe80a2aed79e8d&method=getFriendModels'
      $Post1 = 'vote=5&key='&$key[2]&'&sex=0&user='&$key[1]&'&sig=a6e36cf3b383e322f63380a2aed1e3f4&model%5Fid=1&friend%5Fuid='&$sUser&'&method=voteForFriend'
        $oHTTP.setTimeouts(5000,5000, 10000, 10000)
        $oHTTP.Open("POST", $URL2)
        $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        Execute('$oHTTP.Send($Post0)')
      $oHTTP.WaitForResponse
      $Response = $oHTTP.ResponseText
      $Return = StringRegExpReplace($Response, '(?s).*?<vote_availability>(d+)</vote_availability>?.*','\1')
      if $Return = 1 Then ; Если надо качать то качаем:
        $oHTTP.setTimeouts(5000,5000, 10000, 10000)
        $oHTTP.Open("POST", $URL)
        $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        Execute('$oHTTP.Send($Post1)')
        $oHTTP.WaitForResponse
      Sleep(1000)
      Else
      Sleep(1000)
      EndIf
        Sleep(1000)
      Next
 EndFunc
 
Верх