Что нового

Не отправляет запрос

Статус
Закрыто для дальнейших ответов.

DarkCrush

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

Код:
==> The requested action with this object has failed.:
$Response = $oHTTP.ResponseText
$Response = $oHTTP.ResponseText^ ERROR
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Не удалось выполнить ResponseText.
Нужно код смотреть.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Код:
Func _Str($aArray)
	local $Edit9, $User
            For $ii=1 To $aArray[0]
            $key=StringSplit($aArray[$ii],':')
			Local $PostData = 'method=voteForFriend&user='&$key[1]&'&sig=83cd024fd5fd1c42f330f8cc1677808d&vote=5&friend_uid='&$User&'key='&$key[2]&'&model_id=1&sex=0'
			local $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
			$oHTTP.Open("POST", $GetStr)
			$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
			Execute('$oHTTP.Send($PostData)')
			$oHTTP.WaitForResponse
			$Response = $oHTTP.ResponseText
			$Edit9=GUICtrlSetData($Edit9, $Response)
      Sleep(1000)
Next
EndFunc ;==> _Str


Вот
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Это зачем?
Код:
Execute('$oHTTP.Send($PostData)')

Уберите Execute
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Теперь ошибка другая :(

Код:
==> The requested action with this object has failed.:
$oHTTP.Send($PostData)
$oHTTP.Send($PostData)^ ERROR
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
$User = ? - - должна быть Global
$GetStr = 'httр://vkontakte.ru' - должна быть Global
Или присвойте им значение внутри функции, если они локальные.
local $Edit9 - эта переменная у вас глобальная, уберите эту строку.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
они у меня глобальные, я просто подумал так быстрее работать должно :smile:


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

Когда убрал из local стало писать

Код:
: WARNING: $Edit9: possibly used before declaration.
			GUICtrlSetData($Edit9,
			~~~~~~~~~~~~~~~~~~~~~^
WARNING: $Edit9: declared global in function only. Prefer top of file.
Global $Form7, $Group7, $Group8, $Group9, $fake, $Edit9,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
- 0 error(s), 2 warning(s)
->02:43:38 AU3Check ended.rc:1
 ==> The requested action with this object has failed.:
$Response13 = $oHTTP.ResponseText
$Response13 = $oHTTP.ResponseText^ ERROR
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
$PostData = 'method=voteForFriend&user=' &$key[1]& '&sig=83cd024fd5fd1c42f330f8cc1677808d&vote=5&friend_uid=' &$User& '&key=' &$key[2]& '&model_id=1&sex=0'


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

Код:
Func _Str($aArray)
	Local $oHTTP, $PostData
	For $ii=1 To $aArray[0]
		$key=StringSplit($aArray[$ii],':')
		$PostData = 'method=voteForFriend&user=' &$key[1]& '&sig=83cd024fd5fd1c42f330f8cc1677808d&vote=5&friend_uid=' &$User& '&key=' &$key[2]& '&model_id=1&sex=0'
		$oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
		$oHTTP.Open("POST", $GetStr)
		$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
		$oHTTP.Send($PostData)
		$oHTTP.WaitForResponse
		If $oHTTP.Status = 200 Then
			$Response = $oHTTP.ResponseText
			GUICtrlSetData($Edit9, $Response)
		Else
			Return SetError(1, 0, $oHTTP.Status)
		EndIf
		
		Sleep(1000)
	Next
EndFunc ;==> _Str



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

Если переменная $Edit9 handle то она по умолчанию глобальная
 
Автор
D

DarkCrush

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

то с такой ошибкой:
Код:
==> The requested action with this object has failed.:
If $oHTTP.Status = 200 Then
If $oHTTP.Status ^ ERROR

То с такой:
Код:
==> The requested action with this object has failed.:
$oHTTP.Send($PostData)
$oHTTP.Send($PostData)^ ERROR


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

и почему то при работе не работает кнопка выход***
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DarkCrush
Вот здесь Перебор значений в POST запросе есть нечто подобное.
DarkCrush [?]
и почему то при работе не работает кнопка выход
Пока отрабатывает функция _Str($aArray) кнопка выхода работать не будет.


ИМХО, можно вынести из цикла $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1') и делать паузу между отправкой запросов около 1 минуты.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
И этого никак не изменить?

Еще вопрос как отобразить текст <msg></msg> а не полный полученый запрос, и надо чтобы они появлялись в столбик а не сменяя друг друга. вот мой код

Код:
$Response = $oHTTP.ResponseText
			$Response2= 'Пользователь: ' &$key[1] & StringRegExpReplace($Response, '(?s).*?<msg>(\d+)</msg>?.*', '\1') & @CRLF & @CRLF & _
            GUICtrlSetData($Edit9, $Response2)


Он почему то отображает весь полученый запрос и всего в 1 строчке, а надо что бы они шли в столбик
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DarkCrush [?]
я создавал ее переместили)
Если мне память не изменяет, то тему переместили, т.к. Вы ее не дооформили по правилам форума.
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Как мне сделать что бы Отработанные ИД были в столбик, что нужно дописать?

Код:
$Response = $oHTTP.ResponseText
			$Response2= 'Пользователь: ' &$key[1] & StringRegExpReplace($Response, '(?s).*?<msg>(\d+)</msg>?.*', '\1') & @CRLF & @CRLF & _
            GUICtrlSetData($Edit9, $Response2)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Наверное где-то так:
Код:
$Response = $oHTTP.ResponseText
$Response2 = GUICtrlRead($Edit9) & 'Пользователь: ' & $key[1] & _
		StringRegExpReplace($Response, '(?s).*?<msg>(\d+)</msg>?.*', '\1') & @CRLF
GUICtrlSetData($Edit9, $Response2)
 
Автор
D

DarkCrush

Начинающий
Сообщения
63
Репутация
1
Еще надо что бы вместо этого:
Код:
<?xml version="1.0" encoding="UTF-8"?>

<result>
	<response>
		<code>0</code>
		<msg>success vote</msg>
	</response>
</result>



Писало это:

Код:
Success vote

Но на мой запрос к <msg><\msg> он не обращает внимания


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

Код:
$Response = $oHTTP.ResponseText
$Response2 = GUICtrlRead($Edit9) & 'Пользователь: ' & $key[1] & _
        StringRegExpReplace($Response, '(?s).*?<msg>(\d+)</msg>?.*', '\1') & @CRLF
GUICtrlSetData($Edit9, $Response2)


С таким запросом вся программа почему то начинает лагать(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DarkCrush
Поменяйте
Код:
$Response2 = GUICtrlRead($Edit9) & 'Пользователь: ' & $key[1] & _
		StringRegExpReplace($Response, '(?s).*?<msg>(\d+)</msg>?.*', '\1') & @CRLF
;на
$Response2 = GUICtrlRead($Edit9) & 'Пользователь: ' & $key[1] & _
		StringRegExpReplace($Response, '(?s).*?<msg>(.*?)</msg>?.*', '\1') & @CRLF


PS
В этой теме это мой последний ответ. Мой Вам совет: оформите по правилам тему в Столе заказов.
 
Статус
Закрыто для дальнейших ответов.
Верх