Что нового

Получение информации с GET

Yoshiyuki

Новичок
Сообщения
40
Репутация
0
Здравствуйте, подскажите как из GET получить только нужные информацию, а точнее 10 и 11 строчку
Я сделал так
Код:
Global Const $HTTP_STATUS_OK = 200

Func HttpPost($sURL, $sData = "")
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")

$oHTTP.Open("POST", $sURL, False)
If (@error) Then Return SetError(1, 0, 0)

$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")

$oHTTP.Send($sData)
If (@error) Then Return SetError(2, 0, 0)

If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0)

Return SetError(0, 0, $oHTTP.ResponseText)
EndFunc

Func HttpGet($sURL, $sData = "")
Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")

$oHTTP.Open("GET", $sURL & "?" & $sData, False)
If (@error) Then Return SetError(1, 0, 0)

$oHTTP.Send()
If (@error) Then Return SetError(2, 0, 0)

If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0)

Return SetError(0, 0, $oHTTP.ResponseText)
EndFunc
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 300, 150, 192, 124)
$Label1 = GUICtrlCreateLabel(" ", 8, 8, 1000, 17)
$Label2 = GUICtrlCreateLabel(" ", 8, 32, 1000, 17)
$Start = GUICtrlCreateButton("Старт", 8, 60, 50, 25)
$Stop = GUICtrlCreateButton("Стоп", 80, 60, 50, 25)
$slidvolume=GUICtrlCreateSlider(8, 100, 180, 25)
GUICtrlSetData($slidvolume, 50)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
name()
AdlibRegister("name",10000)
$stream = ObjCreate("WMPlayer.OCX.7")
With $stream
   .settings.Balance = 0
   .controls.stop()
EndWith

While 1
   $stream.settings.volume = GUICtrlRead($slidvolume)
   $nMsg = GUIGetMsg()
   Switch $nMsg
		 Case $GUI_EVENT_CLOSE
			$stream.controls.stop()
			Exit
		 Case $Label2

		 Case $Start
			   $stream.URL = "http://animeradio.su/playlists/gar.asx"
			   $stream.controls.play()
		 Case $Stop
			   $stream.controls.stop()
   EndSwitch
WEnd

Func name()
$name = Random(0,10000, 1)
$sGet = HttpGet("http://proxy.animeradio.su/data.esc")
$sResult = StringRegExpReplace($sGet, '\t\t\t', @CR)
FileWrite(@ScriptDir & $name, $sResult)
$hFile = FileOpen(@ScriptDir & $name, 0)
$sLine = FileReadLine($hFile, 10)
GUICtrlSetData($label1,$sLine)
$sLine2 = FileReadLine($hFile, 11)
GUICtrlSetData($label2,$sLine2)
FileDelete(@ScriptDir & $name)
EndFunc

Но хотелось бы сделать это не через создания файла
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 714
Предупреждение За нарушение общих правил (пункт В.8):
Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!".


С уважением, ваш Модератор.





Название темы я поправил, в следующий раз будьте внимательнее.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 320
Yoshiyuki [?]
Но хотелось бы сделать это не через создания файла
Можно примерно так сделать.
Код:
Local $s_Url = 'http://proxy.animeradio.su/data.esc', $s_Data, $a_Tmp

;~ HttpSetProxy(1)

$s_Data = InetRead($s_Url, 17)
If @error Then Exit 1
$s_Data = BinaryToString($s_Data)
$a_Tmp = StringSplit($s_Data, @TAB & @TAB & @TAB, 1)
If $a_Tmp[0] >= 11 Then
	MsgBox(64, 'Info', '$a_Tmp[10] = ' & $a_Tmp[10] & @LF & '$a_Tmp[11] = ' & $a_Tmp[11])
Else
	MsgBox(16, 'Error', 'Error')
EndIf
 
Верх