MOTOBIT.COMSend form data using IE without user interaction - automated POST

About | IIS monitor | ASP upload | ASP dictionary | UserManager | Pure ASP upload script | Programming tips
Other articles:
Read and write SQL image data, store binary file to sql table. (WSH, Database, Conversion, VBScript)
Download multiple files in one http request (File & data transfer, VBScript)
Work with binary files in VBSscript - read and write local and remote files (WSH, File & data transfer, Functions, VBScript)
Do you like this article?
Please, rate it
and write review!
Rated:
by Aspin.com users
What do you think?
Areas > Languages > VBA to v. 6
Areas > VBA > POST http method
      Sometimes you have to send some forms to a web site without user interaction. Internet explorer has a navigate method, which lets you send GET and POST request with data to any URL. Next functions are samples of a POST request which sends POST form data.
      For example, you have next form:
 <Form Action=http://127.0.0.21/faccept.asp Method=Post>
  <Input Name=FirstName Value=Franta>
  <Input Name=LastName Value=Vomacka>
  <Input Name=Email Value=fanda@mobula.com>
  <Input Type=Submit>
 </Form>
      Next VBA code simulates same submit of the form using IE
  PostRequest "http://127.0.0.21/faccept.asp", _
    Array("FirstName", "LastName", "Email"), _
    Array("Franta", "Vomacka", "fanda@mobula.com")

'**************************************** Post form data - begin
'sends form fields specified In Names/Values arrays To the URL
Sub PostRequest(URL, Names, Values)
  Dim I, FormData, Name, Value
  
  'Enumerate form names And it's values
  'and built string representaion of the form data
  For I = 0 To UBound(Names)
    'URL encode source fields
    Name = URLEncode(Names(I))
    Value = URLEncode(Values(I))
    If FormData <> "" Then FormData = FormData & "&"
    FormData = FormData & Name & "=" & Value
  Next
  
  IEPostStringRequest URL, FormData
End Sub

'sends URL encoded form data To the URL using IE
Sub IEPostStringRequest(URL, FormData)
  'Create InternetExplorer
  Dim WebBrowser: Set WebBrowser = CreateObject("InternetExplorer.Application")
  
  'You can uncoment Next line To see form results As HTML
  'WebBrowser.Visible = True
  
  'Send the form data To URL As POST request
  Dim bFormData() As Byte
  ReDim bFormData(Len(FormData) - 1)
  bFormData = StrConv(FormData, vbFromUnicode)
  WebBrowser.Navigate URL, 2 + 4 + 8, , bFormData, _
    "Content-type: application/x-www-form-urlencoded" + Chr(10) + Chr(13)

  Do While WebBrowser.busy
'    Sleep 100
    DoEvents
  Loop
  WebBrowser.Quit
End Sub

'URL encode of a string data
Function URLEncode(Data)
  Dim I, C, Out
  
  For I = 1 To Len(Data)
    C = Asc(Mid(Data, I, 1))
    If C = 32 Then
      Out = Out + "+"
    ElseIf C < 48 Then
      Out = Out + "%" + Hex(C)
    Else
      Out = Out + Mid(Data, I, 1)
    End If
  Next
  URLEncode = Out
End Function
'**************************************** Post form data - end

See also

for 'Send form data using IE without user interaction - automated POST' article

Copyright and use this code

The source code on this page and other samples at http://www.motobit.com/tips/ are a free code, you can use it as you want: copy it, modify it, use it in your products, ...
If you use this code, please:
1. Leave the author note in the source.
or
2. Link this sample from you page.
<A
 Href="http://www.motobit.com/tips/detpg_sendfrmie/"
 Title="Lets you send form data (field
	names and values) as a
	POST request using internet explorer,
	it is automated post, without
	asistence of user."
>Send form data using IE without user interaction - automated POST</A>

© 1996 - 2012 Antonin Foller, Motobit Software | About, Contacts | e-mail: info@pstruh.cz


Partner sites: Search Czech Last minute Zajezdy Obsah na mobil Hry na mobil Java Hry Print-shop Affiliate programy

Kurzy: Akcie | Urad prace | Zakony | Zlato | Firmy | Dane


     IISTracer - IIS ISAPI real-time monitor IISTracer is a real-time monitoring tool for Microsoft IIS, which will show/log you what is happenning on IIS server right now. It let's you reveal problems with long-running scripts (.asp, .cgi, cfm...), hang-up states and low resource situations and lets you stop long-running requests (uploads/downloads).      ActiveX User account Manager - Set of simple objects for creating, deleting, and managing user accounts, groups, servers and domains in the Windows NT environment.
     Active log file - Hi-performance text file logging for ASP/VBS/VBA applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.      ActiveX windows registry editor - Intuitive, easy to use COM interface to windows registry. Set of classes to read/enumerate/modify windows registry keys and values from ASP, VBS and T-SQL.
     ActiveX/ASP Multi Dictionary object - Free-threaded hi-speed dictionary algorithm with unique/nonunique keys (map/multimap). Connect to another dictionary object in the same process. Lock and Unlock methods to synchronize tasks (application scope). Share ASP Application/Session objects.      Export DBF/MDB from ASP - Conversion from recordset to MDB/DBF. Direct binary output of MDB or DBF files from ASP pages with one row of code.
     Pure-ASP upload - lets you upload files using Pure ASP VBS code (using multipart/form-data and input type=file).      ByteArray - Works with safearray binary data (VT_UI1 | VT_ARRAY) - save/restore binary data from disk, find, work with code pages, convert to string/hexstring(SQL).
     WebChecker - Checks http, https, ftp and gopher internet connections in regular intervals. Lets you monitor web site functionality (uptime). Enables restart or notification on problems.      HTTPLog ISAPI filter - Lets you log incomming/outgoing http header and document data to separate files. Monitor of IIS service input/output.
Motobit.com