purebasic.info
http://purebasic.info/phpBB3ex/

Создаем сайты через PB (CGI)
http://purebasic.info/phpBB3ex/viewtopic.php?f=10&t=1374
Страница 2 из 5

Автор:  Apokalipsis [ Вс ноя 14, 2010 3:34 pm ]
Заголовок сообщения: 

qpAHToMAS, спасибо! Нашел в чем была моя ошибка, чуть-чуть не там написал параметры.
Теперь другая проблема, раньше выдавало что-то о том что url не найден, теперь же вроде запускается но на экране ничего кроме пустой страницы нет.
Запускал скомпиленый под консоль пример из первого сообщения.

PS. Что-то CGI как-то трудновато понимаю, не приходилось раньше интересоватся интернет-технологиями...

Автор:  qpAHToMAS [ Вс ноя 14, 2010 3:43 pm ]
Заголовок сообщения: 

Apokalipsis писал(а):
Запускал скомпиленый под консоль пример из первого сообщения.

Вот более информативный код:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
UsePNGImageEncoder()
 
Enumeration
  #image_logo
EndEnumeration
 
#image_logo_filename = "image_logo.png"
#image_logo_w = 400
#image_logo_h = 60
#image_logo_box_size = 10
 
#text_text = "Hello from PureBasic!"
 
If OpenConsole()
  output.s = "Content-type: text/html" + #CRLF$ + #CRLF$  
  If CreateImage(#image_logo, #image_logo_w, #image_logo_h) And StartDrawing(ImageOutput(#image_logo))
    For x = 0 To #image_logo_w Step #image_logo_box_size
      For y = 0 To #image_logo_h Step #image_logo_box_size
        Box(x, y, #image_logo_box_size, #image_logo_box_size, RGB(Random(255), Random(255), Random(255)))
      Next
    Next
    DrawingMode(#PB_2DDrawing_Transparent)
    DrawText(#image_logo_w / 2 - TextWidth(#text_text) / 2, #image_logo_h / 2 - TextHeight(#text_text) / 2, #text_text, RGB(255, 255, 255))
    SaveImage(#image_logo, #image_logo_filename, #PB_ImagePlugin_PNG)
    StopDrawing()
  EndIf
  output + "<!DOCTYPE html PUBLIC " + Chr(34) + "-//W3C//DTD XHTML 1.0 Transitional//EN" + Chr(34) + " " + Chr(34) + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" + Chr(34) + ">" + #CRLF$ + "<html xmlns=" + Chr(34) + "http://www.w3.org/1999/xhtml" + Chr(34) + ">" + #CRLF$ + "<head>" + #CRLF$ + "<link rel=" + Chr(34) + "shortcut icon" + Chr(34) + " type=" + Chr(34) + "image/ico" + Chr(34) + " href=" + Chr(34) + "favicon.ico" + Chr(34) + ">" + #CRLF$ + "<meta http-equiv=" + Chr(34) + "Content-Type" + Chr(34) + " content=" + Chr(34) + "text/html; charset=windows-1251" + Chr(34) + " />" + #CRLF$ + "<title>PureBasic CGI Test</title>" + #CRLF$ + "</head>" + #CRLF$ + "<body>" + #CRLF$ + "" + #CRLF$ + "<table align=" + Chr(34) + "center" + Chr(34) + " width=" + Chr(34) + "400" + Chr(34) + ">" + #CRLF$ + "    <tr>" + #CRLF$ + "        <td align=" + Chr(34) + "center" + Chr(34) + "><img src=" + Chr(34) + "image_logo.png" + Chr(34) + "></td>" + #CRLF$ + "    </tr>" + #CRLF$ + "    <tr>" + #CRLF$ + "        <td>" + #CRLF$ + "        <b>Информация о сервере:</b><br>" + #CRLF$ + "        GATEWAY_INTERFACE: "
  output + GetEnvironmentVariable("GATEWAY_INTERFACE")
  output + "<br>" + #CRLF$ + "        SERVER_NAME: "
  output + GetEnvironmentVariable("SERVER_NAME")
  output + "<br>" + #CRLF$ + "        SERVER_PORT: "
  output + GetEnvironmentVariable("SERVER_PORT")
  output + "<br>" + #CRLF$ + "        SERVER_PROTOCOL: "
  output + GetEnvironmentVariable("SERVER_PROTOCOL")
  output + "<br>" + #CRLF$ + "        SERVER_SOFTWARE: "
  output + GetEnvironmentVariable("SERVER_SOFTWARE")
  output + "<br><br>" + #CRLF$ + "        <b>Информация о запросе:</b><br>"
  output + #CRLF$ + "        AUTH_TYPE: "
  output + GetEnvironmentVariable("AUTH_TYPE")
  output + "<br>" + #CRLF$ + "        CONTENT_FILE: "
  output + GetEnvironmentVariable("CONTENT_FILE")
  output + "<br>" + #CRLF$ + "        CONTENT_LENGTH: "
  output + GetEnvironmentVariable("CONTENT_LENGTH")
  output + "<br>" + #CRLF$ + "        CONTENT_TYPE: "
  output + GetEnvironmentVariable("CONTENT_TYPE")
  output + "<br>" + #CRLF$ + "        OUTPUT_FILE: "
  output + GetEnvironmentVariable("OUTPUT_FILE")
  output + "<br>" + #CRLF$ + "        PATH_INFO: "
  output + GetEnvironmentVariable("PATH_INFO")
  output + "<br>" + #CRLF$ + "        PATH_TRANSLATED: "
  output + GetEnvironmentVariable("PATH_TRANSLATED")
  output + "<br>" + #CRLF$ + "        QUERY_STRING: "
  output + GetEnvironmentVariable("QUERY_STRING")
  output + "<br>" + #CRLF$ + "        REMOTE_ADDR: "
  output + GetEnvironmentVariable("REMOTE_ADDR")
  output + "<br>" + #CRLF$ + "        REMOTE_HOST: "
  output + GetEnvironmentVariable("REMOTE_HOST")
  output + "<br>" + #CRLF$ + "        REQUEST_METHOD: "
  output + GetEnvironmentVariable("REQUEST_METHOD")
  output + "<br>" + #CRLF$ + "        REQUEST_LINE: "
  output + GetEnvironmentVariable("REQUEST_LINE")
  output + "<br>" + #CRLF$ + "        SCRIPT_NAME: "
  output + GetEnvironmentVariable("SCRIPT_NAME")
  output + "<br><br>" + #CRLF$ + "        <b>Информация о клиенте:</b><br>"
  output + #CRLF$ + "        HTTP_ACCEPT: "
  output + GetEnvironmentVariable("HTTP_ACCEPT")
  output + "<br>" + #CRLF$ + "        HTTP_REFERER: "
  output + GetEnvironmentVariable("HTTP_REFERER")
  output + "<br>" + #CRLF$ + "        HTTP_USER_AGENT: "
  output + GetEnvironmentVariable("HTTP_USER_AGENT")
  output + "<br>" + #CRLF$ + "        HTTP_ACCEPT_ENCODING: "
  output + GetEnvironmentVariable("HTTP_ACCEPT_ENCODING")
  output + "<br>" + #CRLF$ + "        HTTP_ACCEPT_LANGUAGE: "
  output + GetEnvironmentVariable("HTTP_ACCEPT_LANGUAGE")
  output + "<br>" + #CRLF$ + "        HTTP_IF_MODIFIED_SINCE: "
  output + GetEnvironmentVariable("HTTP_IF_MODIFIED_SINCE")
  output + "<br>" + #CRLF$ + "        HTTP_FROM: "
  output + GetEnvironmentVariable("HTTP_FROM")
  output + " <br>" + #CRLF$ + "        </td>" + #CRLF$ + "    </tr>" + #CRLF$ + "</table>" + #CRLF$ + "" + #CRLF$ + "</body>" + #CRLF$ + "</html>"
  WriteConsoleData(@output, Len(output))
EndIf



И опции для компилятора как таковые трогать не надо, просто компилируешь в EXE и все работает.
Но на всякий случай, настройки такие:
Цитата:
; IDE Options = PureBasic 4.50 (Windows - x86)
; CursorPosition = 78
; FirstLine = 33
; EnableXP
; Executable = pb.exe

Они находятся в самом низу у исходного файла (file.pb) если его открыть через текстовый редактор.

Автор:  Пётр [ Сб дек 18, 2010 12:58 am ]
Заголовок сообщения: 

Создание простой динамически изменияемой Web-страницы, средствами PureBasic

Автор:  mirashic [ Вс дек 19, 2010 10:30 pm ]
Заголовок сообщения: 

Вроде, секунду назад, сообщение другое было ?
Про вебсервер с поддержкой изображений ?

Автор:  Пётр [ Вс дек 19, 2010 10:38 pm ]
Заголовок сообщения: 

Вот веб-сервер написаный на пурике :D
Поддерживается:
    Отоборажение HTML страничек с рисунками и переход между страничками.
    Скачавние файлов.


Код пока сыhой, но уже сейчас, с его помощью можно разместить на своём компе небольшой HTML сайт, который можно будет посещать из локалки или инета (есть есть статический IP).

Для примера, взял учебник Влада.

Как пользоватся программой:
Распаковываем архив и запускаем WebServer_HTML.exe (закрывать его можно только через диспетчер задач, стандартной точки выхода нет :wink: ).
После этого, на компе начинает функционировать веб-сервер.
Со своего компа можно его посетить, набрав в адресной строке браузера http://127.0.0.1/
Для для того, чтобы зайти из инета, нужно на другом компе, ввести IP адрес вашего компа.

PS.
Уязвимости сервера искать ненужно, т. к. их просто нет, хоть и на винде работает, но его при необходимости, можно перекомпилировать под линукс или мак, т. к. использованы только встроеные функции.

Вложения:
PB_WebServer_v1.2.rar [91.73 KiB]
Скачиваний: 275

Автор:  mirashic [ Вс дек 19, 2010 10:43 pm ]
Заголовок сообщения: 

А исходник... или это секрет ?

Автор:  Пётр [ Вс дек 19, 2010 10:45 pm ]
Заголовок сообщения: 

Это пока тестирование на выявление багов.
Исходник выложу когда обнаруженые баги уберу.

Автор:  mirashic [ Вс дек 19, 2010 10:58 pm ]
Заголовок сообщения: 

Не подсоединяется файл таблицы стилей CSS.

Автор:  Пётр [ Вс дек 19, 2010 11:03 pm ]
Заголовок сообщения: 

Так я же написал что только HTML и рисунки, ну и скачивание файлов пока реализовано.
Как подключать таблицу стилей CSS, хз....

Автор:  mirashic [ Вс дек 19, 2010 11:06 pm ]
Заголовок сообщения: 

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<html>
<head>
<title>PureBasic</title>
 
<link rel="stylesheet" href="stail.css" type="text/css" />
 
</head>
<body>
 
<h2>Привет мир!</h2>
 
</body>
</html>
 


Автор:  Пётр [ Вс дек 19, 2010 11:14 pm ]
Заголовок сообщения: 

Попробуй, может заработает.
Без CSS файла сложно проверить.

Вложения:
WebServer_HTML.rar [11.17 KiB]
Скачиваний: 288

Автор:  mirashic [ Вс дек 19, 2010 11:20 pm ]
Заголовок сообщения: 

Работает !

Проба адрес: 92.113.118.120

Автор:  mirashic [ Вс дек 19, 2010 11:24 pm ]
Заголовок сообщения: 

Проба адрес: 92.113.118.120

Автор:  Пётр [ Пн дек 20, 2010 12:02 am ]
Заголовок сообщения: 

mirashic, не открывается.
Возможно провайдер закрыл 80 порт.

Исходники выложил на другом форуме.
Попробуй использовать другой порт, скажем, 2000.

Автор:  mirashic [ Пн дек 20, 2010 12:07 am ]
Заголовок сообщения: 

Пётр писал(а):
опробуй использовать другой порт, скажем, 2000.


а где это выставлять

Страница 2 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/