sendredirect() or sendrespose() 35两纹银,鄙人的最后家产了. (35分)

铃铛

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟在做一个 isapi 在最后要从dll中将浏览器定向到
另一 url ,还要模拟 post 方式带上参数,若用 get 方式
方法如下:
response.contenttype:='get';
sendredirect('http://url'+'?参数1='+参数1值+'剩余部分');
若用 post 方式该怎么带参数?
35两纹银,鄙人的最后家产了.
 
Xixi, that's easy
If you are using post,
simply
use:
PUT http://url
content-length=Count of the following chars of lines

Param1=Value1
Param2=Value2
...

注意有一个空行
 

先谢了.
大哥,你就当小弟比较笨,能否写的
详细一些?写上例句.
例如:
sendredirect('http://ttt.ttt.ttt'
+content-type='+len
+#13#10
+'P1'='+'ttt');
候您佳音.




 
Sorry,
我现在真正弄清了你的需求:
不但要重定向到另一个cgi, 而且还要填好参数,
并且为了安全起见, 参数还不要出现在浏览器的
URL地址行上.
如此一来, POST方法就不灵了, 因为您不能代替客户端浏览器
来执行HTTP的PUT方法

我建议您采用一个变通的方法: 输出一个页面, 把您要填写的参
数放在Form的隐含参数中, 重定向的url作为Form的target
Method设为PUT
不过这样一来, 浏览器的用户还必须再按一下按钮才行
 

知我者,大哥也.你说的正式小弟要完成的东西.
小弟正在做一个isapi,其功能时完成用户校验后,
重定向到一个另一已存在的url,同时为了安全在
两台服务期间传递一认证信息.
这一信息若作为隐含信息返回给客户端是否有点
不太安全?
若方法安全,该怎样做?
另:get 方法 倒是可以传递参数,只是显示出来了
重定向后显示如下: http://url?p1=v1..
若无显示,那就好了.
多谢指教.



 
其实总是免不了有一些信息返回给客户端的,
现有的几个办法是:
1. 利用SetCookie, 把参数传给浏览器, 并且把
cache属性设置为private,(不许存盘) 这样就可
以直接重定向

2. 利用Form的隐含参数, 但是可以用一个时间戳
加密, 另一边的cgi解密时, 判断一下是否超时.
Form中设置隐含参数的例子是:
&ltinput type=hidden name="relatedir" value="/Artist"&rt
Form方法的缺点是还需要用户再按一下按钮(因为要
采用皮POST方法) 如果用GET方法, 也可以直接重定
向, 但是参数全部显示在命令行上(不过加了密也就
无所谓)

 
接受答案了.
 

Similar threads

S
回复
0
查看
950
SUNSTONE的Delphi笔记
S
S
回复
0
查看
774
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部