Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.173.48.18] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток! Подскажите, пожалуйста, как мне получить ответ от сервера о том, есть отклик или нет?
Простого решения в интернете не нашёл. Option Explicit Private Sub Form_Load() With Winsock1 .Close .Connect "http://aaa.ru", 80 End With End Sub Private Sub Winsock1_Connect() Winsock1.SendData "GET /index.php HTTP/1.1" & vbCrLf & _ "user-agent: My MegaBrowser" & vbCrLf & _ "cache-control: no-store no-cache" & vbCrLf & _ "host: localhost" & vbCrLf & vbCrLf End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim dt As String, frf As Integer Winsock1.GetData dt Text1.Text = Text1.Text + dt End Sub Этот код ничего не даёт. Мне желательно, чтобы ответ был краток от сервера, чтобы не парсить километры HTML-кода страницы. |
Сообщ.
#2
,
|
|
|
Вопрос решил. Помог пример SCINER: Загрузка картинок из инета в PictureBox
оказывается, без GET тоже можно обойтись |
Сообщ.
#3
,
|
|
|
Цитата salieri @ Подскажите, пожалуйста, как мне получить ответ от сервера о том, есть отклик или нет? Вопрос не понятен, вы бы хотябы поясняли что такое "отклик"... если нужен пинг хоста - вообще никаких HTTP сокетов не надо было велосипедить. Если сервак ваш, либо вы знаете что он строго соблюдает HTTP, вы сами можете запросить у сервера статус (например, вернёт он 503 код, или 200), естно через какой нибудь HEAD запрос. Добавили бы ответ на свой вопрос, и вопрос стал бы полезен другим людям... |
Сообщ.
#4
,
|
|
|
VisualProg, прошу прощения, что так поздно ответил, потому что не был подписан на тему, а сейчас просматривал и увидел ваш ответ
Цитата VisualProg @ если нужен пинг хоста да, нужен именно он, надо проверить, есть ли отклик, не висит ли сервер, всё ли с ним хорошо Цитата VisualProg @ сервак ваш да, сервер свой Цитата VisualProg @ запросить у сервера статус подскажите, пожалуйста, какой заголовок передавать в HttpOpenRequest и HttpSendRequest? Цитата VisualProg @ никаких HTTP сокетов не надо было велосипедить я плохо разбираюсь, поэтому что пришло в голову, то и делаю; буду рад, если будет решение лучше Цитата VisualProg @ Добавили бы ответ на свой вопрос, и вопрос стал бы полезен другим людям... конечно Public Function HTTPGET(ByVal sUrl_HTTP As String) As String Dim hOpen As Long Dim hOpenUrl As Long Dim FF As Long Dim sReadBuffer As String * 2048 Dim sBuffer As String Dim lNumberOfBytesRead As Long Dim bDoLoop As Boolean bDoLoop = True sBuffer = NLS hOpen = InternetOpen(MeConnect, 0, NLS, NLS, 0) If hOpen > 0 Then hOpenUrl = InternetOpenUrl(hOpen, sUrl_HTTP, NLS, 0, &H80000000, 0) If hOpenUrl > 0 Then While bDoLoop sReadBuffer = NLS InternetReadFile hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead sBuffer = sBuffer & Left(sReadBuffer, lNumberOfBytesRead) If Not CBool(lNumberOfBytesRead) Then bDoLoop = False DoEvents Wend InternetCloseHandle hOpenUrl End If InternetCloseHandle hOpen End If HTTPGET = sBuffer End Function |