Что нового

[Сеть, интернет] InetGet зависает скрипт

Krokodile

Новичок
Сообщения
43
Репутация
1
Теперь ГУИ виснет при скачивании маленьких фалов(~300-400Кб) с помощью inetget. Как исправить, какие альтернативы качалке?
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
Код:
InetGet("http://localhost/","file.txt",1,1)
While InetGetInfo()
$nMsg = GUIGetMsg()
if $nMsg = -3 then exit
WEnd
 

Skif_off

Знающий
Сообщения
173
Репутация
12
Подскажите, пожалуйста, а как быть в таком случае
Код:
$dR = InetGet("http://localhost/", "file.txt", 1, 1)
If @error Then
    MsgBox(4096, '', 'Файл недоступен.')
    InetClose($dR)
    Exit
EndIf

?
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Skif_off
Код:
Global $__HGET[2], _
	$__oHttp = ObjCreate( 'WinHttp.WinHttpRequest.5.1' ), _
	$__oSvrError = ObjEvent( 'AutoIt.Error', '__OnError' )
; *
Global Const $__iTimeout = 5000


Local $sFile
While Sleep( 40 )
	$sFile = _Get( "http://localhost/" )
	Select
		Case Not $sFile
			;Все еще загружается
			ContinueLoop
		Case $sFile = -1
			MsgBox(4096, '', 'Файл недоступен.')
		Case Else
			FileWrite( "file.txt", $sFile )
	EndSelect
	ExitLoop
WEnd



#Region Public
Func _Get( $sUrl = '', $sAccept = "text/*" )
	Local $vRet = 0
	; ---
	Select
		Case $__HGET[1] <> $sUrl
			_Abort()
			; -
			ContinueCase
		Case Not $__HGET[0]
			$__oHttp.Open( "GET", $sUrl, 1 )
			$__oHttp.SetRequestHeader( "Accept", $sAccept )
			$__oHttp.SetRequestHeader( "Accept-Language", "en" )
			$__oHttp.SetRequestHeader( "Content-Type","application/x-www-form-urlencoded" )
			$__oHttp.SetRequestHeader( "User-Agent", "AutoIt v3" )
			$__oHttp.setTimeouts( 0, 0, 0, 0 )
			$__oHttp.Send()
			; -
			$__HGET[0] = TimerInit()
			$__HGET[1] = $sUrl
		Case TimerDiff( $__HGET[0] ) > $__iTimeout
			_Abort()
			; -
			$vRet = -1
		Case Else
			Switch $__oHttp.Status
				Case 200
					$vRet = $__oHttp.ResponseBody
			EndSwitch
	EndSelect
	; -
	Return $vRet
EndFunc

Func _Abort( $sSvr = Null )
	If $__HGET[1] == $sSvr Or Not $sSvr Then
		If $__oHttp.Status <> 200 Then _
			$__oHttp.Abort()
		; -
		$__HGET[0] = 0
		$__HGET[1] = 0
	EndIf
EndFunc
#EndRegion Public

#Region Events
Func __OnError()
EndFunc
#EndRegion Events
 
M

max1300

Гость
скачайте себе оптимизаторы интернета может тогда скрипт не будет от InetGet
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
OffTopic:
Уважаемые форумчане!
Вы или пишите логически законченные предложения или впредь я буду удалять сообщения подобного рода.

max1300 [?]
скачайте себе оптимизаторы интернета может тогда скрипт не будет от InetGet
 
M

max1300

Гость
проверь ли могут циклы оказывать нагрузку на процессор может поэтому скрипт зависает.Лично у меня ни чего не зависает
 

Skif_off

Знающий
Сообщения
173
Репутация
12
firex
Как-то это слишком много :smile: Спасибо, забрал для другого скрипта из-за "User-Agent". Наверное, попробую проверять число загруженных байтов.
 
Верх