In a message dated 1/31/2006 10:55:29 P.M. Roland wrote >You can *not* get the target URL of a form POST by copying and pasting the >URL from a browser. You get the URL of the form POST by looking at the HTML >source code of the page that provides the form. There, you search for a tag
><form method="POST" target="*this*is*the*URL*to*POST*to"> also, in agreement with Roland, Chris Merrill wrote: >As Roland pointed out, you should not get the URL for a POST this way - the >correct URL may never appear in the URL field of the browser. >There are several HTTP analyzers that can get you the information you need. >On IE, you can try plugins from httpwatch.com, ieinspector.com or iewatch.com. >For a standalone tool compatible with other browsers, you can try our free >Analyzer product: > http://webperformanceinc.com/analyzer/ Thanks to both of you for your advice. I was finally successful in getting the POST to work properly on this particular site. In the spirit of sharing solutions as well as problems, let me tell you how I solved the problem and how each of you helped. The basic solution: On this particular web site, when you go from a page A to a page B, you use the URL of page B in the PostMethod constructor and add the URL of page A to the "Referer" field of the Request Header. While, in general, you cannot get the URL for a POST by copying and pasting a page's URL from the navigation bar, in this instance, I could have done just that, if only I knew which page's URL to copy and paste! I found out the appropriate URL by downloading a free copy of the Web Performance Analyzer and using it with an IE browser to browse the web site in question. I ran into one snag, however. When I tried to navigate from the logon screen to the screen showing my account balance, the Analyzer told me it could not perform some additional functions without my downloading a free, 14-day demo license from the Web Performance web site. I did this and found that the URL I needed for the POST command was simply the URL of the page displaying my account balance and that the "Referer" header I had to include with my request was just the URL of the Login page. the final Java code snippet is as follows: urlA = URL of Login page urlB = URL of page showing account balance public PostMethod PostIt() { PostMethod pmethod = new PostMethod(urlB); NameValuePair[] data = { new NameValuePair("VTI-GROUP", "0"), //Hidden Field new NameValuePair("partId","tuvwxyz"), //User I.D. new NameValuePair("password","abcde"), //Password new NameValuePair("acrover", ""), //Hidden Field new NameValuePair("fileDigit", "W") /Hidden Field }; pmethod.addParameters(data); pmethod.addRequestHeader("Referer",urlA); return pmethod; I have never come across a site that requires the page you go to, to check the URL of the page you came from, but I suppose there is a first time for everything. It seems to be a kind of security constraint meant to channel site visitors through certain pages to get to others. This works for browser users, but the addRequestHeader("Referer", urlA) in Java HttpClient allows you to go directly to the page you want, carrying along the URL of the "preceeding" page. I found the Web Performance Analyzer to be very useful, but the price for a permanent license looks a bit steep to me. Any chance of a deal? (:-)) Jerry
