Показать сообщение отдельно
Старый 05.08.2013, 04:37   #242
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,366
Написано 2,476 полезных сообщений
(для 6,864 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Метод в лоб. Не везде прокатит - веб сервер может дропнуть соединение из-за отсутствия юзер агента и прочих ненужных заголовков.
Local lines:String = LoadString("http::forum.boolean.name")
Print lines
Метод для бацек
Global HttpHost:String = "forum.boolean.name" ' Именно хост. Без всяких там http и указания пути
Global HttpPort:Int = 80 ' Ну тут понятно
Global HttpGet:String = "/" ' Собсно гет запрос


'# Соединяемся
Local sock:TSocket = CreateTCPSocket()

If Not sock.Connect(HostIp(HttpHost), HttpPort) Then
	RuntimeError("OH SHI~~!") ' хуИта
EndIf

Local stream:TSocketStream = CreateSocketStream(sock) 


' # Шлём
WriteLine(stream, "GET /" + HttpGet + " HTTP/1.0~nHost: " + httpHost + "~nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0~n~n") 

' # Принимаем ответ
Local buff:String
While Not Eof(stream) 
	buff:+ReadLine(stream) + "~n"
Wend

' # Открыл? Закрой!
sock.Close()
stream.Close()

'# Ну и чо там у нас
Print buff
Ток надо ещё будет заголовки отпилить. Ориентируйся на первую пустую строку.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nerd (05.08.2013)