Hoe doe ik een "post" in .vb?

Forum over Homeseer scripts (DUTCH forum)

Moderators: TANE, Ruud

Post Reply
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Hoe doe ik een "post" in .vb?

Post by Noel »

Iemand hier die misschien weet hoe ik dmv een vb script de volgende gegevens kan posten?

Code: Select all

http://de_url.tld/meteo.php?windrichting=330&windsnelheid=22&watertemperatuur=16
Het "meteo.php" stukje is geen probleem.
De gegevens (bv. 330, 22 en 16) zjn ook geen probleem in de .vb file.
Ik weet helaas niet hoe ik de "post" alles in .vb moet doen.
Het is iets van "WebRequest.Create(url)" denk ik.
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
Mdamen
Forum Moderator
Forum Moderator
Posts: 390
Joined: Sat Nov 22, 2008 6:58 pm
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Mdamen »

Dit kun je zo doen:

Code: Select all

sUrl = "http://de_url.tld/meteo.php"
sRequest = "windrichting=" & iWindrichting & Chr(38) & "windsnelheid=" & iWindsnelheid  & Chr(38) & "watertemperatuur=" iWatertemperatuur

HTTPPost sUrl, sRequest

Function HTTPPost(sUrl, sRequest)
  set oHTTP = CreateObject("Microsoft.XMLHTTP")
  oHTTP.open "POST", sUrl,false
  oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  oHTTP.setRequestHeader "Content-Length", Len(sRequest)
  oHTTP.send sRequest
  HTTPPost = oHTTP.responseText
 End Function
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Noel »

Hallo Mdamen,

Ziet er goed uit, maar helaas werkt het weer eens niet bij mij.
Ik heb even als test de code in een .vb gezet, en dmv een event uitgevoerd.

Code: Select all

const iWindrichting = "360"
const iWindsnelheid = "22"
const iWatertemperatuur = "24"

sUrl = "http://de_url.tld/receive.php"
sRequest = "windrichting=" & iWindrichting & Chr(38) & "windsnelheid=" & iWindsnelheid  & Chr(38) & "watertemperatuur=" iWatertemperatuur

HTTPPost sUrl, sRequest

Function HTTPPost(sUrl, sRequest)
  set oHTTP = CreateObject("Microsoft.XMLHTTP")
  oHTTP.open "POST", sUrl,false
  oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  oHTTP.setRequestHeader "Content-Length", Len(sRequest)
  oHTTP.send sRequest
  HTTPPost = oHTTP.responseText
End Function
De fout die ik krijg is:

Code: Select all

8/25/2010 8:07:53 AM  Error  Script compile error: Declaratie wordt verwacht.on line 18 

Code: Select all

8/25/2010 8:07:53 AM  SCR  Option Strict Offimports Schedulerimports SystemPublic Module scriptcode29#Region "Automatically generated code, do not modify"'Automatically generated code, do not modify'Event Sources Begin Public WithEvents hs As Scheduler.hsapplication Public WithEvents hsp As scheduler.hsp Public WithEvents hssystem As scheduler.phone0'Event Sources End'End of automatically generated code#End Regionconst iWindrichting = "360"const iWindsnelheid = "22"const iWatertemperatuur = "24"sUrl = "http://de_url.tld/receive.php"sRequest = "windrichting=" & iWindrichting & Chr(38) & "windsnelheid=" & iWindsnelheid & Chr(38) & "watertemperatuur=" iWatertemperatuurHTTPPost sUrl, sRequestFunction HTTPPost(sUrl, sRequest) set oHTTP = CreateObject("Microsoft.XMLHTTP") oHTTP.open "POST", sUrl,false oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" oHTTP.setRequestHeader "Content-Length", Len(sRequest) oHTTP.send sRequest HTTPPost = oHTTP.responseTextEnd FunctionEnd Module 
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
Mdamen
Forum Moderator
Forum Moderator
Posts: 390
Joined: Sat Nov 22, 2008 6:58 pm
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Mdamen »

Ik ben geen homeseer gebruiker, maar was het niet zo dat vbscript in een .txt gezet moet worden en niet in een .vb? De code wordt nu wellicht geherinterpreteerd als vb.net code i.p.v. vbscript.
Anders kan het nog zijn dat de code met "Option Explicit" wordt uitgevoerd, in dat geval moet je misschien de variabelen nog van de voren declareren:

Code: Select all

    Dim iWindrichting, iWindsnelheid, iWatertemperatuur, sUrl, sRequest 
    const iWindrichting = "360"
    const iWindsnelheid = "22"
    const iWatertemperatuur = "24"

    sUrl = "http://de_url.tld/receive.php"
    sRequest = "windrichting=" & iWindrichting & Chr(38) & "windsnelheid=" & iWindsnelheid  & Chr(38) & "watertemperatuur=" iWatertemperatuur

    HTTPPost sUrl, sRequest

    Function HTTPPost(sUrl, sRequest)
      Dim oHTTP
      set oHTTP = CreateObject("Microsoft.XMLHTTP")
      oHTTP.open "POST", sUrl,false
      oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
      oHTTP.setRequestHeader "Content-Length", Len(sRequest)
      oHTTP.send sRequest
      HTTPPost = oHTTP.responseText
    End Function
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Hoe doe ik een "post" in .vb?

Post by Alexander »

Homeseer heeft functies daarvoor ingebakken: http://www.homeseer.com/support/homesee ... ternet.htm
Alexander
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Noel »

Hmmm no luck met .txt of .vb
Wat een gedoe voor zoiets simpels.
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
Mdamen
Forum Moderator
Forum Moderator
Posts: 390
Joined: Sat Nov 22, 2008 6:58 pm
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Mdamen »

Ah, wat Alexander aangeeft:

http://www.homeseer.com/support/homesee ... action.htm

Code: Select all

dim s
const server_url = "http://someserver.com/datapost/hereitis.html"
const headers="Content-Type: application/x-www-form-urlencoded"  

s = hs.URLAction(server_url, "POST", data, headers)
De data variabele kun je dan vullen met een zelfde request string zoals ik eerder heb aangegeven...
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Noel »

call me stupid, maar ik krijg het echt niet aan het werk.
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
Mdamen
Forum Moderator
Forum Moderator
Posts: 390
Joined: Sat Nov 22, 2008 6:58 pm
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Mdamen »

Wat is het probleem? Welke error krijg je?
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Noel »

Ik heb het project even opzij gezet omdat ik er niet uit kwam (steeds maar #^&@%#&^%@!#& errors)
Weet niet meer wat de laatste fout melding was (ik maak de logile steeds schoon).

Ik zal het later vandaag nog eens gaan testen.
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Noel »

Ok.. Ben er uit..

Code: Select all

Imports System.IO
Imports System.Net
Imports System.Text

const winddirection ="\41"
const windspeed ="\42"
const temp ="\46"

Sub Main(parm as object)
		Dim request As HttpWebRequest = _
		WebRequest.Create("http://de_url.tld/receive.php?windrichting=" & CStr(hs.DeviceValue(winddirection) / 100).Replace(",",".") & " graden.&windsnelheid=" & CStr(hs.DeviceValue(windspeed) / 10).Replace(",",".") & "kmh.&watertemperatuur=" & CStr(hs.DeviceValue(temp) / 10).Replace(",", ".") & "C.")
		request.Method = "POST" 
		request.ContentType = "application/x-www-form-urlencoded"
		Dim response As WebResponse = request.GetResponse()
 
End Sub
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Hoe doe ik een "post" in .vb?

Post by Alexander »

Ik durf het bijna niet te zeggen, maar doe het toch :wink:
Gebruik die binnen homeseer. Scheelt je ook weer onnodige imports en resource gebruik.
Alexander
User avatar
Noel
Senior Member
Senior Member
Posts: 1887
Joined: Tue Feb 12, 2008 12:13 am
Location: Netherlands
Contact:

Re: Hoe doe ik een "post" in .vb?

Post by Noel »

Snap hem niet helemaal, maar denk dat binnen in dit geval niet kan.

Ik gebruik het om een"flash" file te updaten die op een webstite staat.
Zie http://bit.ly/adtWYK
--
Maak nu je eigen video bericht online.
Anyone interested in time travel meet me here last Thursday!!
ıɟ ʇ,uɐɔ noʎ buıɥʇʎuɐ ʇɹɐʇs ɹǝʌǝu
Post Reply

Return to “Homeseer Scripts Forum”