Link to home
Start Free TrialLog in
Avatar of boonhui78
boonhui78

asked on

Sending a HTTP Request using VB6

Hi all!

I need to send a HTTP request to a certain asp file on the internet so as to trigger a action like sending emails, etc...

how should i do it??

thanks a million
Avatar of shankarkrupa
shankarkrupa

Put an inet transfer control (microsoft internet transfer controls)

inet1.Execute "http://website.com/page.asp", "POST", "TEST=TEST"
If that does not work, try this:
inet1.Execute "http://website.com/page.asp", "POST", "TEST=TEST", "Content-Type: application/x-www-form-urlencoded"
Avatar of boonhui78

ASKER

hi shankarkrupa!

i forgot to mention that my application is actually an activex dll... so it doesnt have any forms

so is it possible to create this object at run time?

thanks
Of course, you can do it by latebinding...

Like this:

set inet1 = CreateObject("InetCtls.Inet.1")

then all those code...

Maybe, it is better to first place the inet1.cancel before all those codes, after creating the object...
Following is the code I use. it needs at least IE 5 installed. the function makes use of the XMLHTTP object...if you want you can adjust it to make use of early binding instead of late binding like in the example.

Private Function GetHTML(url) As String
    Dim objXML As Object
    Set objXML = CreateObject("Microsoft.XMLHTTP")
    objXML.Open "GET", url, False
    objXML.send
    If (objXML.Status = 404) Then
        GetHTML = "404 Error"
    Else
        GetHTML = objXML.responseText
    End If

    Set objXML = Nothing
End Function

It sends the http request, and will return you the contents of that url, or a 404 error. The 404 error can be replaced by an err.raise, but that's all up to you to design it the way you want it to.

regards,
CJ
Using XMLHTTP Object

Private Sub Send_HTTP_REquest
     Dim DataToSend As String
     Dim objXML As Object


     DateToSend = "id=1"

     Set objXML = CreateObject("Microsoft.XMLHTTP")
     objXML.Open("POST", "http://www.domain/your_page.asp", false)
     objXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
     objXML.send DataToSend
End Sub


More information here
http://support.microsoft.com/support/kb/articles/Q290/5/91.ASP

hongjun
hi hongqiun!
that xml solution works however it removes all the spaces inside my data...

for example, if i set
DateToSend = "name=Eric Ang&body=Hello World"

i would recieve "EricAng", and "HelloWorld"

Any solutions??

Thanks

ASKER CERTIFIED SOLUTION
Avatar of hongjun
hongjun
Flag of Singapore image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hey Man! You are great!!

Thanks a million!
I am still learning like everyone here.

hongjun