jsp的用户验证问题! (100分)

  • 主题发起人 主题发起人 only you
  • 开始时间 开始时间
O

only you

Unregistered / Unconfirmed
GUEST, unregistred user!
理论上说,在表单域中提供的用户名和密码使用提交方式的时候于
直接的login.jsp?username=asfaf&password=asdfaf
应该没有区别!可是为什么我在网页中可以,直接使用URL方式就不行啊?
后来我发现,那些不行的表单域都指定了提交格式!如果不是文本提交就不能通过验证!
在这些表单域中包含enctype="multipart/form-data"
 
不明白意思!
 
也許是你的程序有誤呢﹖﹗
 
你是用get还是post啊?直接用url的方式等同于get方式提交,但你服务端
如果只响应post,可能就有问题了。
 
你在服务器端接收的时候是怎么写的?
 
最好用form的post方式,接收的时候用
username=request.getParameter("UserName");
 
记得,如果直接用url好像是用request.queryString方法取吧?
 
>>小猪
你说的那个问题我也想过了,但是跟这个没关系,我在程序中模拟post也不行!后来我发现
他在form里面加上了 enctype="multipart/form-data"
一般只有上传文件的时候才使用这个标志,这里使用这个标记有什么用啊?
 
根据msdn:
//好象是一种编码模式
ENCTYPE Attribute | encoding Property
--------------------------------------------------------------------------------
Sets or retrieves the MIME encoding for the form.
Syntax
HTML <FORM ENCTYPE = sType ... >
Scripting FORM.encoding [ = sType ]
Possible Values
sType String that specifies or receives the format of the data being submitted by the form.
The property is read/write. The property has a default value of application/x-www-form-urlencoded.
Expressions can be used in place of the preceding value(s), as of Microsoft?Internet Explorer 5. For more information, see Dynamic Properties.
Remarks
Microsoft?Internet Explorer 4.0 also recognizes multipart/form-data, which, along with a POST method, is required to submit a file upload to the server.
Applies To
 
使用默认的form方式,把enctype="multipart/form-data"去掉就可以了
 
1,这个网站是别人的,我只能访问,我是做了一个自动登陆功能的程序
2,multipart/form-data,当然是一种编码格式,确切的说是一种数据格式!关键是遇到这种情况怎么办?
又是个无头案
 
靠,什么无头案啊
这是个简单得不能再简单的问题!
很显然,用url的格式和<form enctype="multipart/form-data"..>不一样
因为后者有分隔符,至于内容是怎样的去查资料,或者自己在服务器端输出来看看
因为服务器取的时候不一样,前者能取到值,后者用相同的办法取不到
自动登陆还不简单吗?但是只能用form格式!
 
>>这是个简单得不能再简单的问题!
>>很显然,用url的格式和<form enctype="multipart/form-data"..>不一样
>>因为后者有分隔符,至于内容是怎样的去查资料,或者自己在服务器端输出来看看
>>因为服务器取的时候不一样,前者能取到值,后者用相同的办法取不到
>>自动登陆还不简单吗?但是只能用form格式!
同志!我做的是个网络爬虫!你说的没有普遍性!难道你让我为每个网站做个form提交???
难道你没发现自己说了一大堆的毫无价值的废话吗!
 
你知不知道一般网站都不是通过url来登陆的?
网络爬虫你想通过url来登陆?
你知不知道<form enctype="multipart/form-data"..>提交上去以后服务器得到的格式是什么?你连服务器怎么读取都不知道,就在这里用url来发送,怎么可能成功?
>>理论上说,在表单域中提供的用户名和密码使用提交方式的时候于
直接的login.jsp?username=asfaf&amp;password=asdfaf
应该没有区别!
-----------------谁告诉你说没区别的?区别大着呢~
 
》难道你让我为每个网站做个form提交???
当然不需要这样, 用indy控件idhttp直接有个post方法,再设置表单的form enctype为multipart/form-data就行了,具体的参数名忘了,打开idhttp就知道了
 
1.我用的是java,请不要用delphi的方法
2.在form中不指定传送参数的情况下用url的post和表单里提交的到的结果是一样的!!!
我的程序用这种方式可以进入绝大部分的网站。但是form指定了multipart/form-data参数就不行,我正是想知道他的服务器端是怎么做的!要试我早就试了,还来这里问什么!因为我很忙所以到这里问问有没有人做过类似的网站服务器端!想了解一下他是怎么做的!
3.这个问题不需要听你的见解了!因为你知道的不是我想要的
>>你知不知道一般网站都不是通过url来登陆的?
另外,请搞清楚URL的含义再来说!所有的网站交互都是通过URL方式来的知道吗??
 
OK我道歉,我还以为你是用delphi来做呢
form 指定multipart/form-data传过去的内容含有分隔符号,服务器端取参数值的时候,用的不是普通的方法。所以通过QueryString(也就是你所说的URL方法)提交的内容,可以在jsp里用request.getParameter(String name)这样来获得,而form方式则需要另外的写代码来提取各参数的值,这样的方法是取不到值的,所以出现了你说的情况。不知道我这样说你明白不。
至于应用程序里怎么实现,java里应该有这样的类提供使用,我没做过所以不知道了
但是http请求的格式内容,我想我还是非常清楚的。QueryString是Get方式,form一般是Post/Get方式,我没听说过有URL方式。
 
>>csz
Post/Get只是代表了URL的动作!!!!说了半天你好象也没比我说的多多少啊!都说了不需要听你的高见了
 
接受答案了.
 
楼主真他妈的小气啊,有这样问问题的?拽个鸟啊!
人家csz说了半天你都不明白,还这么没礼貌!
http协议请求格式再简单不过了
连这种问题都搞不定,还拽?真丢人~~
“都说了不需要听你的高见了”--------哈哈,跟几岁的儿童一样啊!
 
后退
顶部