Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Web Queries : Passing variables via POST method not working
Hello !
This is my first post here, and hopefully not my last. Hope someone can help, I'm clueless. I have to pass a few variables to a VBA Web Query that uses POST method. So far, so good. However, one of the variables is a bit tricky (it's actually a constant), of the form "/wEWIALL337KBDgK+1+PfDwLhp" (but way longer). Excel wont pass it as is because of the + signs. When I check out the POST data sent with an http analyzer, I see that the pluses have become line returns ! Original : "/wEWIALL337KBDgK+1+PfDwLhp" Becomes : "/wEWIALL337KBDgK 1 PfDwLhp" I tried replacing the pluses by Chr(43), but the problem remains, the http analyzer still shows the variable passed with line returns, which of course, gives me an error page from the server. Any clues on a workaround (pretty pretty please) ? Thanks in advance. PS. I'm working on Excel 2002 SP3. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Web Queries : Passing variables via POST method not working
Thank you for your reply and help... It works ! And thanks for the link, it
will prove useful in the future :) Anyhow, code (simplified) is now : Const Target_URL as String = "www.website.com/login.aspx" Const User as String = "UserId=user" Const Password as String = "&Password=password" [...] Const EventValidation as String = "&__EVENTVALIDATION=" Dim EventValidation_VAL As String EventValidation_VAL = "/wEWIALQKy5MT8AgKT0pndDAL337KBDgK+1+PfDw" Event_Validation_VAL = Replace(EventValidation_VAL, "+", "%2B") Dim POST_DATA as String POST_DATA = User & Password & Var_1 & ... & EventValidation & EventValidation_VAL With ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & Target_URL, Destination:=Cells(1, 1)) .PostText = POST_DATA .BackgroundQuery = True .TablesOnlyFromHTML = True .Refresh BackgroundQuery:=False .SaveData = True End With Thanks again for your help ! "Tim Williams" wrote: Can you show code ? Basically you'll need to escape your posted parameters if the post is being submitted as url-encoded. For a start try replacing "+" with "%2B". A function you could use: http://www.csie.nctu.edu.tw/~cdsheen...-urlencode.php Tim "mister tbo" <mister wrote in message ... Hello ! This is my first post here, and hopefully not my last. Hope someone can help, I'm clueless. I have to pass a few variables to a VBA Web Query that uses POST method. So far, so good. However, one of the variables is a bit tricky (it's actually a constant), of the form "/wEWIALL337KBDgK+1+PfDwLhp" (but way longer). Excel wont pass it as is because of the + signs. When I check out the POST data sent with an http analyzer, I see that the pluses have become line returns ! Original : "/wEWIALL337KBDgK+1+PfDwLhp" Becomes : "/wEWIALL337KBDgK 1 PfDwLhp" I tried replacing the pluses by Chr(43), but the problem remains, the http analyzer still shows the variable passed with line returns, which of course, gives me an error page from the server. Any clues on a workaround (pretty pretty please) ? Thanks in advance. PS. I'm working on Excel 2002 SP3. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Please post this thread a correct full method, method about | New Users to Excel | |||
Please post this thread a complete correct method, method about te | New Users to Excel | |||
Passing variables for range series charts, what to do with post macro run; unable to | Excel Programming | |||
Controlling ODBC queries with VB variables | Excel Programming | |||
Controlling ODBC queries with VB variables | Excel Programming |