malev
28-10-2009, 15:36
Объясните кто знает как получить картинку методом отправки Get запросов, InetGet - не интересует. Сам пробовал не получается. Вот что настрадалось на текущий момент:
#include <HTTP.au3>
$sHost2 = "ya.ru"
$sPage="/"
;~ msgbox (0,"привет",_HTTPGetHeader($sHost2))
Func _HTTPGetHeader($sHost)
TCPStartup()
Local $sName_To_IP = TCPNameToIP($sHost)
Local $iSocket = TCPConnect($sName_To_IP, 80)
If $iSocket = -1 Then
TCPCloseSocket($iSocket)
Return SetError(1, 0, "")
EndIf
Local $sCommand = "GET /logo.png HTTP/1.0" & @CRLF
$sCommand &= "Host: " & $sHost2 & @CRLF & @CRLF
ConsoleWrite ($sCommand)
Local $BytesSent = TCPSend($iSocket, $sCommand)
If $BytesSent = 0 Then Return SetError(2, @error, 0)
Local $sRecv = "", $sCurrentRecv
While 1
$sCurrentRecv = TCPRecv($iSocket, 16)
If @error <> 0 Then ExitLoop
If $sCurrentRecv <> "" Then $sRecv &= $sCurrentRecv
WEnd
ConsoleWrite ($sRecv)
TCPCloseSocket($iSocket)
TCPShutdown()
Return $sRecv
EndFunc
;~ ****1 метод******
$Sock=_HTTPConnect($sHost2)
ConsoleWrite(_HTTPGet($sHost2,"logo.png") & @CR)
$aRes=_HTTPRead($Sock,0)
ConsoleWrite($aRes & @CR & "***********************" & @CR)
_HTTPClose()
;~ ****2 метод******
_HTTPGetHeader($sHost2)
2- ой метод более похож на правду но данные почему то начинаются неправильно должно быть PNG%
Библиотека HTTP.au3 - http://forum.oszone.net/thread-154449.html
#include <HTTP.au3>
$sHost2 = "ya.ru"
$sPage="/"
;~ msgbox (0,"привет",_HTTPGetHeader($sHost2))
Func _HTTPGetHeader($sHost)
TCPStartup()
Local $sName_To_IP = TCPNameToIP($sHost)
Local $iSocket = TCPConnect($sName_To_IP, 80)
If $iSocket = -1 Then
TCPCloseSocket($iSocket)
Return SetError(1, 0, "")
EndIf
Local $sCommand = "GET /logo.png HTTP/1.0" & @CRLF
$sCommand &= "Host: " & $sHost2 & @CRLF & @CRLF
ConsoleWrite ($sCommand)
Local $BytesSent = TCPSend($iSocket, $sCommand)
If $BytesSent = 0 Then Return SetError(2, @error, 0)
Local $sRecv = "", $sCurrentRecv
While 1
$sCurrentRecv = TCPRecv($iSocket, 16)
If @error <> 0 Then ExitLoop
If $sCurrentRecv <> "" Then $sRecv &= $sCurrentRecv
WEnd
ConsoleWrite ($sRecv)
TCPCloseSocket($iSocket)
TCPShutdown()
Return $sRecv
EndFunc
;~ ****1 метод******
$Sock=_HTTPConnect($sHost2)
ConsoleWrite(_HTTPGet($sHost2,"logo.png") & @CR)
$aRes=_HTTPRead($Sock,0)
ConsoleWrite($aRes & @CR & "***********************" & @CR)
_HTTPClose()
;~ ****2 метод******
_HTTPGetHeader($sHost2)
2- ой метод более похож на правду но данные почему то начинаются неправильно должно быть PNG%
Библиотека HTTP.au3 - http://forum.oszone.net/thread-154449.html