Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > PureBasic

PureBasic Мощный кросс-платформенный язык среднего уровня на основе BASIC. Подходит для решения широкого круга задач.

Ответ
 
Опции темы
Старый 04.01.2015, 19:30   #1
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
WebGadget: ошибка сценария

http://clip2net.com/s/39SHDhv
Как избавится от предупреждения в WebGadget?
И еще такая проблема

InitNetwork()
Connection=OpenNetworkConnection("zkillboard.com",80)
SendNetworkString(Connection,"GET /character/93989061/ HTTP/1.1"+#CRLF$+"Host: zkillboard.com"+#CRLF$+"Connection: Close"+#CRLF$+#CRLF$)

Repeat
  If NetworkClientEvent(Connection)=#PB_NetworkEvent_Data
    GlobalSize=0:BufferSize=0:GlobalBuffer=AllocateMemory(4096):RepeatBreak=0
    Repeat
      RepeatBreak=RepeatBreak+1
      Buffer=AllocateMemory(4096):BufferSize=ReceiveNetworkData(Connection,Buffer,4096)
      If BufferSize>0
        GlobalSize=GlobalSize+BufferSize
        GlobalBuffer=ReAllocateMemory(GlobalBuffer,GlobalSize)
        CopyMemory(Buffer,GlobalBuffer+(GlobalSize-BufferSize),BufferSize)
      Else
        Break
      EndIf
      FreeMemory(Buffer)
    Until RepeatBreak>20
    Text$=PeekS(GlobalBuffer,GlobalSize)
    Debug Text$
    Break
  EndIf
ForEver
Отправляю запрос сайту, он мне говорит мол страница перенесена
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2015 15:39:38 GMT
Server: Apache
Location: https://zkillboard.com/character/93989061/
Vary: Accept-Encoding
Content-Length: 250
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://zkillboard.com/character/93989061/">here</a>.</p>
</body></html>
Перенесена, ну и ладно. Вроде как не ошибка. А дальше то как действовать? Как мне добраться до нужной мне страницы?
Естественно браузер знает как это сделать, но мне это мало годится, т.к. браузер тратит много времени чтобы прочесть страницу.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ultimzeus (09.09.2018)
Старый 05.01.2015, 17:31   #2
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: WebGadget: ошибка сценария

Нашел как отключить уведомления
myBrowser.IWebBrowser2 = GetWindowLong_(GadgetID(3), #GWL_USERDATA) 
myBrowser\put_Silent(#True)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Izunad за это полезное сообщение:
LLI.T.A.L.K.E.R. (06.01.2015), ultimzeus (09.09.2018)
Старый 06.01.2015, 19:24   #3
Пётр
Нуждающийся
 
Регистрация: 23.05.2007
Сообщений: 95
Написано 34 полезных сообщений
(для 53 пользователей)
Ответ: WebGadget: ошибка сценария

Сообщение от Izunad Посмотреть сообщение
А дальше то как действовать? Как мне добраться до нужной мне страницы?
Получив ответ с кодом 301 нужно перейти по адресу в поле Location.
Правда, для этого потребуется поддержка шифрованного соединения.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Izunad (06.01.2015)
Старый 09.01.2015, 01:13   #4
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: WebGadget: ошибка сценария

TargetEVE
Готово. Тем кто играет в EVE Online, может быть интересно.
Программа не нарушает правила CCP, создана для быстрого доступа к информации по персонажам в локале.
(Offline)
 
Ответить с цитированием
Старый 27.01.2015, 06:41   #5
Izunad
ПроЭктировщик
 
Аватар для Izunad
 
Регистрация: 02.06.2011
Адрес: Набережные Челны
Сообщений: 103
Написано 27 полезных сообщений
(для 91 пользователей)
Ответ: WebGadget: ошибка сценария

Хороший пример на данную тему. Процедура загружает код страницы в память. Не учить нас делать переход 301 Moved Permanently, но помогает избежать большинство таких проблем.
Procedure.l DownloadToMem(URL.s, *Buff, ramsize.l) 
  Protected agent.s, hInet.l, hData.l, Bytes.l 
  
  agent = "IE 6.0" 
  hInet = InternetOpen_( @agent.s,0,0,0,0 ) 
  hData = InternetOpenUrl_( hInet, @URL.s, "", 0, $8000000, 0 ) 
  
  If hData > 0 
    InternetReadFile_ ( hData, *Buff, ramsize, @Bytes );Шапка страницы- бежим дальше
    InternetReadFile_ ( hData, *Buff, ramsize, @Bytes );Все еще шапка страницы- дальше
    InternetReadFile_ ( hData, *Buff, ramsize, @Bytes );Вот оно
 Else 
    Bytes = -1 
 EndIf 
  InternetCloseHandle_(hInet) 
  InternetCloseHandle_(hData) 
  
  ProcedureReturn Bytes
EndProcedure
 
*Buff = AllocateMemory(100000)
 
If *Buff
  Size=DownloadToMem("https://zkillboard.com/character/93989061/", *Buff, 100000)
  If Size>0
    SetClipboardText(PeekS(*Buff, Size,#PB_UTF8))
  EndIf
EndIf
Если у вас не получилось, то проблема может быть в кодировке текста
Не забываем смотреть формат загружаемого текста
Это может быть Unicode и прочее.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com