andreitrane
Новичок
- Сообщения
- 141
- Репутация
- 3
дайте функцию и include для декодирования вот этого РљРёСЂРїРёС‡
вроде из CP1251 в UTF-8
вроде из CP1251 в UTF-8
#include <Encoding.au3>
MsgBox(64, 'Info', _Encoding_CyrillicTo1251('РљРёСЂРїРёС‡'))
$Response = FileRead("D:\Рабочий стол\123.txt")
$rtext = BinaryToString($Response)
StringRegExpReplace($rtext, '(?s).*?<name>(.*?)</name>?.*', '\1')
if Not $sname Then
Else
GUICtrlSetData($logboss, _Encoding_CyrillicTo1251($sname))
EndIf
$Response = $oHTTP.ResponseText
$rtext = BinaryToString($Response)
$sname = StringRegExpReplace($rtext, '(?s).*?<name>(.*?)</name>?.*', '\1')
if Not $sname Then
Else
GUICtrlSetData($logboss, _Encoding_CyrillicTo1251($sname))
EndIf
$iserv = $server[1]
$URL = "http://"& $iserv &"/prison/universal.php?getBoss"
$PostData = "user="& GUICtrlRead($IDinput) &"&key="& GUICtrlRead($Authinput) &"&method=getBoss"
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST", $URL)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
Execute('$oHTTP.Send($PostData)')
$oHTTP.WaitForResponse
Global $Response = $oHTTP.ResponseText
;$Response = FileRead("D:\Рабочий стол\123.txt")
$rerr = $oIEErrorHandler
Global $rtext = BinaryToString($Response)
$sname = StringRegExpReplace($rtext, '(?s).*?<name>(.*?)</name>?.*', '\1')
if Not $sname Then
Else
GUICtrlSetData($logboss, _Encoding_CyrillicTo1251($sname))
EndIf
потому что я дал код отправки, а не код программы :whistle:Неработает.
$server = stringsplit("188.93.20.139,109.234.155.196,109.234.155.197,109.234.155.198,109.234.156.250,109.234.156.251,109.234.156.253,109.234.156.252", ",")
Global $oIEErrorHandler = ObjEvent("AutoIt.Error","ComErrFunc")
Func ComErrFunc()
If IsObj($oIEErrorHandler) Then
$HexNumber = Hex($oIEErrorHandler.number, 8)
if $HexNumber=00000000 then Return 0
SetError($HexNumber)
Return 1
EndIf
Return 0
EndFunc
<?xml version="1.0" encoding="UTF-8"?>
<data>
<level>4</level>
<screen>battle</screen>
<currentDamage>20</currentDamage>
<boss>
<id>1</id>
<name>РљРёСЂРїРёС‡</name>
<bigboss>false</bigboss>
<h_full>1000</h_full>
<h_now>940</h_now>
<battle_time>8936</battle_time>
<!-- no data in 'cur_damage' -->
<rewards>
У меня нет. Как ты хочешь чтобы тебе помогли, если нет возможности воспроизвести твою проблему?код отправки работает
Тогда используй _Encoding_ISO88591To1251.в сам скрипт приходит в таком виде ÐиÑпиÑ
У меня нет. Как ты хочешь чтобы тебе помогли, если нет возможности воспроизвести твою проблему?
Заготовь рабочий тестовый скрипт, чтобы я смог получить то что получаешь ты, и соответственно попытаться разобраться.
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Encoding.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 361, 572, 232, 142)
$Button1 = GUICtrlCreateButton("Button1", 8, 8, 57, 17)
$Edit1 = GUICtrlCreateEdit("", 8, 112, 345, 457)
$Edit2 = GUICtrlCreateEdit("", 0, 24, 353, 81)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$URL = "http://188.93.20.139/prison/universal.php?getBoss"
$PostData = "user=100916829&key=50cf4eaef16f57868ad7eabe67f0773f&method=getBoss"
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST", $URL)
$oHTTP.setTimeouts(5000, 5000, 10000, 10000, 50000, 50000, 100000, 100000)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.Send($PostData)
$oHTTP.WaitForResponse
Global $Response = $oHTTP.ResponseText
;$Response = FileRead("D:\Рабочий стол\123.txt")
Global $rtext = BinaryToString($Response)
$sname = StringRegExpReplace($rtext, '(?s).*?<name>(.*?)</name>?.*', '\1')
if Not $sname Then
Else
GUICtrlSetData($Edit1, $Response)
GUICtrlSetData($Edit2, _Encoding_CyrillicTo1251($sname))
EndIf
EndSwitch
WEnd
Тогда используй _Encoding_ISO88591To1251
в смысле?andreitrane
обновится не пробовал?
andreitrane
если ты копипастишь с поста CreatoR то там ошибка. затесалась лишняя единица. правильное название функции - _Encoding_ISO8859To1251. но на будущее совет - просто открой библиотеку и бегло пройдись по функциям. почерпнешь много нового, заодно синтаксис увидишь.
Dim $URL="http://188.93.20.139/prison/universal.php?getBoss&user=100916829&key=50cf4eaef16f57868ad7eabe67f0773f&method=getBoss"
$oXMLDoc = ObjCreate("Msxml2.DOMDocument.3.0")
$oXMLDoc.async = false
$oXMLDoc.validateOnParse = false
$oXMLDoc.Load($URL)
ConsoleWrite($oXMLDoc.xml)
$oXMLDoc.setProperty("SelectionLanguage", "XPath")
$oListNodes = $oXMLDoc.selectNodes("//data/boss/name")
For $oNode In $oListNodes
MsgBox(0,"", $oNode.Text)
Next
Там ошибки нету, просто это две разные функций, а библиотеку я забыл обновить .если ты копипастишь с поста CreatoR то там ошибка. затесалась лишняя единица
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Encoding.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 361, 572, 232, 142)
$Button1 = GUICtrlCreateButton("Button1", 8, 8, 57, 17)
$Edit1 = GUICtrlCreateEdit("", 8, 112, 345, 457)
$Edit2 = GUICtrlCreateEdit("", 0, 24, 353, 81)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$URL = "http://188.93.20.139/prison/universal.php?getBoss"
$PostData = "user=100916829&key=50cf4eaef16f57868ad7eabe67f0773f&method=getBoss"
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST", $URL)
$oHTTP.setTimeouts(5000, 5000, 10000, 10000, 50000, 50000, 100000, 100000)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.Send($PostData)
$oHTTP.WaitForResponse
Global $Response = $oHTTP.ResponseText
;$Response = FileRead("D:\Рабочий стол\123.txt")
;Global $rtext = BinaryToString($Response)
$sname = StringRegExpReplace($Response, '(?s).*?<name>(.*?)</name>?.*', '\1')
If @extended And $sname Then
GUICtrlSetData($Edit1, $Response)
GUICtrlSetData($Edit2, _Encoding_ISO88591To1251($sname))
EndIf
EndSwitch
WEnd