?
Solved

How do I programmatically submit data to a web page?

Posted on 2004-03-24
13
Medium Priority
?
444 Views
Last Modified: 2008-02-01
Hi,

I am trying to write something in Visual C++ 6.0 that will do the following in a certain time interval (e.g. twice a day):

1. Log on to a secure website with a valid user id and password.
2. Set the value of an input text box to the full path of a file name (e.g. C:\upload.csv)
3. Submit this page.

Your help is appreciated!

Sung-En
0
Comment
Question by:sungenwang
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
  • 3
  • +1
13 Comments
 
LVL 44

Assisted Solution

by:Karl Heinz Kremer
Karl Heinz Kremer earned 400 total points
ID: 10673383
Very likely you don't have to log into the web page and fill in the text box. This can all be done by just a post operation. It's probably best if you analyze the network traffic from a client to your server when you upload a file. You need to generate something similar like this HTTP POST request:

POST /cgi-bin/upload.pl HTTP/1.1\r\n
Accept: */*\r\n
Referer: http://yourhost/cgi-bin/upload.pl\r\n
User-Agent: MyUploadProgram\r\n
Content-Type: multipart/form-data; boundary=---------0xKhTmLbOuNdArY\r\n
Authorization: Basic a2hr0m1yZ2xtcmds\r\n
Content-Length: 1454339\r\n
Connection: close\r\n
Host: myhost\r\n
\r\n

Lookup what the different fields mean. The authentication is the field that contaisn your user id and the password. Make sure you understand how you create the encrypted data.

Then, you just send the file:
---------0xKhTmLbOuNdArY\r\n
Content-Disposition: form -data; name="upload"; filename="myfilename.pdf"\r\n
Content-Type: application/pdf\r\n\r\n
... and here comes the actual file content...
0
 
LVL 23

Accepted Solution

by:
chensu earned 1360 total points
ID: 10673499
HOWTO: Automate Internet Explorer to POST Form Data
http://support.microsoft.com/default.aspx?scid=kb;en-us;167658

SAMPLE: PostMon.exe Demonstrates How to Use URL Moniker to POST Data
http://support.microsoft.com/default.aspx?scid=kb;en-us;165800

HOWTO: Use the PostData Parameter in WebBrowser Control
http://support.microsoft.com/default.aspx?scid=kb;en-us;174923
0
 
LVL 14

Author Comment

by:sungenwang
ID: 10677502
Hi khkremer, thanks for the detailed input. However, it is pretty touch for me (a c programmer) to decipher this to c code.

Hi Chensu, I think the code in the first link should be very helpful! I well test it.

However, is there a way I can submit my user id and password to a webpage by putting them inside an url? I think I just read it somewhere yesterday but I can't find that "tip of the day" article! If you experts can help me locate it, that would be enough to close my questions!
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10677595
You just need to send the data (after replacing certain things like the Referer, authorization information or the file size information) to port 80 on the web server.

Providing a user name and password as part of the URL only works of the script on the server does support this. THis information is usually provided as "Authorization:" information.

I looked at the three links provided by chensu, but did not see anything about file uploads.
0
 
LVL 23

Expert Comment

by:chensu
ID: 10679298
>but did not see anything about file uploads.

I don't think sungenwang needs to upload files. What sungenwang is doing is to post the upload file name to a Web site.
0
 
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10679412
Makes sense. I got confused by the filename upload.cvs and assumed that the requirement was to actually upload the file.
0
 
LVL 14

Author Comment

by:sungenwang
ID: 10680106
Chensu is right. Just the file name.

Any luck in finding the article on sending the id & password? I believe it was something like:
www.idname:password:domainname.com
I tried
0
 
LVL 14

Author Comment

by:sungenwang
ID: 10680117
I tried several different combinations and non of them worked... I couldn't believe I didn't print out that page when I first saw it...
0
 
LVL 14

Author Comment

by:sungenwang
ID: 10680165
hi khkremer, do you happen to know the syntax for:
"Providing a user name and password as part of the URL"? Even though you mentioned that it may only if the server does support this. Who knows, it may just work for me...
0
 
LVL 23

Expert Comment

by:chensu
ID: 10680332
You can provide a user name and password as part of the URL for FTP.

How to Enter FTP Site Password in Internet Explorer
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q135975
0
 
LVL 44

Expert Comment

by:Karl Heinz Kremer
ID: 10682394
There is no standard way of passing the user id and a password as part of a URL (besides for ftp, as chensu has already explained). It depends on the server setup and is in general a bad idea, because this information will be displayed on the screen (everybody who walks by your machine can see this information), but is also stored in your browser's history.

Just ignore all the low level stuff I had in my comment. Just adding the file name is possible with the information in the articles that chensu quoted.
0
 
LVL 5

Assisted Solution

by:phyderous
phyderous earned 240 total points
ID: 10683226
You can use the IXMLHTTPREQUEST

documentation can be found in

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmobjxmlhttprequest.asp

this is a very simple COM object that allow you post http data to a web server
0
 
LVL 14

Author Comment

by:sungenwang
ID: 10688541
Thanks to you all!
I think I'm on my way now... sungen
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question