Sign in to follow this  

[web] ASP + 400 Bad Request

This topic is 4853 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am using Wise Installation System to make a registration page for my company. As the user installs our Product they enter their name and email and push register. Wise sends the data to an .asp page i created. (Wise sends using the Post Method) The error that returns whenever I use the program is'400 Bad Request'...but if I use a website to post the data, it works fine..I'm not sure if I have done something wrong in the script...or in Wise. here is what my page looks like
<%@ Language=VBScript %>
<html>
<head>
<!---#include file="adovbs.inc"-->
<%
On Error Resume Next

'Get the info from the Posted Data
Dim Name
Dim Email
Dim Reg
Name = Request.Form("un")
Email = Request.Form("mail")
Reg = "blah" 'not used yet



'Database Login Info
UN="username"
PW="pass"
DB="thedatabase"
DBSERVER="server.com"
'Specifying to use the OleDB Data provider
DRIVER="Provider=sqloledb"

'Connect to the Database
Set objConn = Server.CreateObject("ADODB.Connection")
ConnString =DRIVER&";SERVER="&DBSERVER&";UID="&UN&";PWD="&PW&";DATABASE="&DB
objConn.Open ConnString

'If there's an error, display there was, although it doesn't matter because when people register, they won't 
'ever see this page anyway...
If Err.Number <> 0 Then
	Response.Write("<h1>There was an error connecting, but you shouldn't see this message anyway..</h1>")
Else
	Response.Write("<h1>Connected to the Database successfully</h1>")
End If

Dim RecordSet
Set RecordSet = Server.CreateObject("ADODB.RecordSet")
RecordSet.Open "Registration", objConn, ,adLockOptimistic , adCmdTable


if Err.Number > 0 Then
	Response.Write ( Err.Description )
	Response.Write ("<br>")
	Response.Write ( Err.Source )
	Response.Write ("<br>")
	Response.Write ( Err.number )
	Err.Clear
Else
	Response.Write("All Good")
End If

RecordSet.AddNew
RecordSet("Name") = Name
RecordSet("Email") = Email
RecordSet("Reg") = Reg

RecordSet.Update()



RecordSet.Close
Set RecordSet = Nothing
'Close the connection 
objConn.Close()
Set objConn = Nothing

%>

</head>

<body>
</body>

</html>



Share this post


Link to post
Share on other sites
Before I read through all the code looking for a bug, can you just clarify that you're trying to view an ASP page locally on a client computer? If so, are you sure that the computer has a webserver installed that can handle ASP? (IIS or PWS should suffice). You can't call an ASP page without a server to 'serve' it.

Share this post


Link to post
Share on other sites
Ok, I've looked through that code about a million times and can't find anything wrong with it. I think i'm going to assume that the problem is with Wise Installation System. If someone with a little more asp expierence than me (I've just gotton into vb script, just about a week now, so even obvious errors could be in there) could just look at that and confirm that it is all correct, I would be greatful

Share this post


Link to post
Share on other sites
Ah, I forgot to reply earlier. A 400 error doesn't mean there's anything wrong with your script. I checked it over and it looks fine, with no obvious errors. What a 400 error means is that the client has attempted to send the server a bad HTTP request, perhaps the header is screwed up or something like that.

You said the error occurs only when using it through WISE as you've tested the page locally. It's a logical decision that the problem itself lies with WISE or the data that has been sent to the server in some way.

One possible way of debugging would to put a proxy between WISE and the server and read off the HTTP that's sent. Another would be to check your server logs to see if any indication is given as to the nature of the error.

Have you tried running the registration program on another machine connecting to your server?

Other than that, I'm stuck without being able to play around with it - do WISE have support forums? It may be worth looking for people that have had a similar problem.

Share this post


Link to post
Share on other sites
Yeah wise has forums, I posted but no one seems to know anything over that way. (Well they don't reply if they do anyway).


In Wise all I have to enter is basically the url and the text to post..

here is my text to post that I have

un=%NAME%
mail=%EMAIL%


In Wise to use Vars you must use the %varname%..I think I entere that right, as its suppose to go field=data

Thank you very much for all your help evolutional. I really like the proxy idea with seeing what is being sent. I just wish I knew how to do such a thing :-) researching it now.

Oh and yes, I have tried from another machine.

[edit]
Oh and the guy that said use PHP. I would love to except I couldn't figure out how to connect to a sql server database. I couldn't find any info on OleDb or ODBC with PHP, just the damn mssql_connect..which the hosting company that we use doesn't have the right extensions installed for..(or something like that)
[/edit]

Share this post


Link to post
Share on other sites
"400 Bad request" is a client-side error.

It is caused by the CLIENT (in this case, your installer) NOT the .ASP script on the server, which is probably never even executed.

The most common cause that I've found, is broken clients sending spaces in the URL (which is of course illegal in HTTP). In some older web browsers this happened because the web page writer put spaces in the URL (illegally). The browser should have rejected it, but instead it sent it to the server anyway, which rejected it itself.

It's normal to urlencode strings being sent to the server in the URL- perhaps your client software isn't doing that properly.

Get a sniffer and see what request is being sent. I normally use Ethereal.

Mark

Share this post


Link to post
Share on other sites

This topic is 4853 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this