我修改的别人程序,想自动登录我们的OA系统,把页面html文件下载下来。
登录页面进行身份验证合法后,返回状态302,既要求redirect.我程序中如何处理?我的发送为:
GET /names.nsf?Login&username=myname&password=mypwd&RedirectTo=http://main.xxx.com/wps/myportal/!ut/p/c1/0wcA1NLTeQ!! HTTP/1.1
Host:oa.xxx.com
Accept:*/*
User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Connection:Keep-Alive接收到的消息头:
HTTP/1.1 302 Found
Server: Lotus-Domino
Date: Wed, 24 Jun 2009 07:43:26 GMT
Connection: close
Location: http://main.xxx.com/wps/myportal/!ut/p/c1/0wcA1NLTeQ!!
Set-Cookie: LtpaToken=/aTLlYOaoVKOQBxcb19nGB4rgpSGvluGgO0WbNRqXmhwrwdk3VzqoZwXSXabetXEFkMtNjFkQWnYEI95yPWFBVdWc1m/s2xp9PyR7WrcrnU03MuZDkS/7+/VrHjsk4cgCvkX9Z1ARGDqhFazwplPyGMiMamGPUcM152BJoA3yOa8rV56NhXhnBZRggBRKPJqesrHzTsWsl1XL5DsPHduk8t8TFqqnt9qlD+vNDjbL1qoljie3PKh1fRZG9KCuh9/ZJB0GNBdgCCm8h5Q9uyetdLil0UHQgCH2okpabgKAN7fGt23S9N8vA==; domain=.xxx.com; path=/--------------------------------------------------------------------------------
服务器是Lotus-Domino。
连接普通网站静态页面没有问题,如sohu等,至少可以得到html文件。但访问我公司oa不行。如果我在浏览器的地址栏里输上:
http://oa.xxx.com/names.nsf?Login&username=myname&password=mypwd&RedirectTo=http://main.qlzq.com/wps/myportal/!ut/p/c1/0wcA1NLTeQ!!
则完全是可以正常访问的。但是我将这个字符串用我的程序发送过去后就不行了,不知道返回状态302后该怎么办?哪位指点一下?多谢!
登录页面进行身份验证合法后,返回状态302,既要求redirect.我程序中如何处理?我的发送为:
GET /names.nsf?Login&username=myname&password=mypwd&RedirectTo=http://main.xxx.com/wps/myportal/!ut/p/c1/0wcA1NLTeQ!! HTTP/1.1
Host:oa.xxx.com
Accept:*/*
User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Connection:Keep-Alive接收到的消息头:
HTTP/1.1 302 Found
Server: Lotus-Domino
Date: Wed, 24 Jun 2009 07:43:26 GMT
Connection: close
Location: http://main.xxx.com/wps/myportal/!ut/p/c1/0wcA1NLTeQ!!
Set-Cookie: LtpaToken=/aTLlYOaoVKOQBxcb19nGB4rgpSGvluGgO0WbNRqXmhwrwdk3VzqoZwXSXabetXEFkMtNjFkQWnYEI95yPWFBVdWc1m/s2xp9PyR7WrcrnU03MuZDkS/7+/VrHjsk4cgCvkX9Z1ARGDqhFazwplPyGMiMamGPUcM152BJoA3yOa8rV56NhXhnBZRggBRKPJqesrHzTsWsl1XL5DsPHduk8t8TFqqnt9qlD+vNDjbL1qoljie3PKh1fRZG9KCuh9/ZJB0GNBdgCCm8h5Q9uyetdLil0UHQgCH2okpabgKAN7fGt23S9N8vA==; domain=.xxx.com; path=/--------------------------------------------------------------------------------
服务器是Lotus-Domino。
连接普通网站静态页面没有问题,如sohu等,至少可以得到html文件。但访问我公司oa不行。如果我在浏览器的地址栏里输上:
http://oa.xxx.com/names.nsf?Login&username=myname&password=mypwd&RedirectTo=http://main.qlzq.com/wps/myportal/!ut/p/c1/0wcA1NLTeQ!!
则完全是可以正常访问的。但是我将这个字符串用我的程序发送过去后就不行了,不知道返回状态302后该怎么办?哪位指点一下?多谢!
关于HTTP响应码的意思,可以查看HTTP协议规范.
不行,我就把Location字段当做新的地址去打开,结果被从定向回了登陆页面.
因为打开这个地址的时候要校验Cookie信息,因为Cookie信息不对或者你打开时没带上,所以被重定向回了登陆页面
第二次打开Location地址的时候,要把第一次打开地址返回的Cookie带上,就是Set-Cookie字段的东西.
我觉得很可能是这个问题。可是怎么把第一次返回的cookie带上啊?谢谢!
第二次打开地址的时候在发送头里加个"Cookie:"的字段把信息补全就好了.
帅哥,你太帅了,成功了!就把cookie再发回去就行。不过还有点小问题,我自己搞定去。