这个问题困扰了我好几天了一直找不到原因。达人帮帮忙啊。。我再详细解释一下问题:1、我post一个网站的登录页,如:http://www.123.com/login.asp
2、成功后,它会返回一个http://www.123.com/index.asp给我。。
(如果我用ie提交并用监视软件看了一下,有2条记录,一条是post,一条是get的。但是如果我用idhttp的话,2条都是post)ie
post http://www.123.com/login.asp
get http://www.123.com/index.asp(自动返回的)idhttp
post http://www.123.com/login.asp
post http://www.123.com/index.asp(自动返回的,尽然还是post,而且如果还有返回其它的信息都是post-_-!!)希望达人能救救我分不多。先谢谢啦第一次用idhttp控件就遇到这问题了晕死
2、成功后,它会返回一个http://www.123.com/index.asp给我。。
(如果我用ie提交并用监视软件看了一下,有2条记录,一条是post,一条是get的。但是如果我用idhttp的话,2条都是post)ie
post http://www.123.com/login.asp
get http://www.123.com/index.asp(自动返回的)idhttp
post http://www.123.com/login.asp
post http://www.123.com/index.asp(自动返回的,尽然还是post,而且如果还有返回其它的信息都是post-_-!!)希望达人能救救我分不多。先谢谢啦第一次用idhttp控件就遇到这问题了晕死
要考慮下 Cookies 的問題。
idhttp还要自己去get的吗?
post的时候是会提交信息,但是提交完了,服务器不是会自动跳转到其它页面?这时候idhttp会自动再次post那张页面,难道还要自己get一下?奇怪,我用webbrowser都不会这样用winhttp组件也不会...汗...希望再次给我一点详细的介绍及说明谢谢..starluck...
设了。不设的话就是302错误了。。现在主要是为什么idhttp会把需要get的内容变成post的方式进行提交?例子:
//就这么一句
idhttp.post('http://www.123.com/login.asp',postParam);我用分析工具截包后发现有两条post数据....1、post http://www.123.com/login.asp
2、post http://www.123.com/index.asp正确的话第2条应该是 get http://www.123.com/index.asp
有啊,代码是自己写的login.asp里就是如果post过来的数据正确,就跳转到index.asp页是不是我的idhttp控件版本问题?我用的是delphi里自带的idhttp...
用ie..截包如下post http://www.123.com/login.asp
get http://www.123.com/index.asp用idhttp就是post http://www.123.com/login.asp
post http://www.123.com/index.aspidhttp设置的属性有:
idHttp.HandleRedirects:=true;
idHttp.HTTPOptions:=idHttp.HTTPOptions+[hoKeepOrigProtocol];//关键这行
idHttp.ProtocolVersion:=pv1_1;
idHttp.Request.ContentType:='application/x-www-form-urlencoded';
idHttp.Request.Referer:='http://www.95898.org';
Reqstream 提交 ResStream 返回
不是很懂,权当参考
谢谢关注,不过不是提交不了,而是提交后返回的链接idhttp依然用post来提交了。。正确的应该是get...
var
postData:TStringList;
begin
postData:=TStringList.Create;
postData.Add('username=test');
postData.Add('password=test11');
IdHTTP1.HandleRedirects:=true;
IdHTTP1.Request.Referer:='http://www.95898.org';
IdHTTP1.Post('http://www.95898.org/checkLogin.asp?action=login',postData);
end;
但是用idhttp的话就还是post了。。虽然post没出错,但是用post就是不正常的你觉得呢?