试图用程序登录网站,IdHTTP1->Get(url)返回302(目标已经跳转),应该如何继续?

_zZ 2005-10-27 04:31:33
buf="http://192.168.1.3/User_ChkLogin.asp?UserName=u&Password=123";
try{
ShowMessage( buf );
body=IdHTTP1->Get(buf) ;
}catch ( const Exception &E ){
String buf;
//跳转
if(E.Message.Pos("302")>0){
}else{
ShowMessage( E.Message );
}
}
在提交一个url以后经常遇到302异常,这个是因为web server跳转到其他页面显示,在程序中如何继续呢取得跳转的页面的URL,如何取得这个url继续实用->get(http://a.com?a=12&b=34)来提交数据呢?我这样的代码到"302异常"就停了下来的,后续操作不知应该怎么写?请高手指教!!!!
...全文
390 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
_zZ 2005-10-28
  • 打赏
  • 举报
回复
引用:..........不知是否奏效
出错原因:你所连接的页面进行了Redirect.解决方法:将IdHTTP.HandleRedirects:=True;这样就不会弹出错误框框啦.然后DoRequest一下取到反馈信息,再从IdHTTP.Request中得到新的URL.
_zZ 2005-10-28
  • 打赏
  • 举报
回复
post 和 get 这两种效果一样我都写过代码,只不过get写法要比post简单易懂!
这俩着在完成之后都会跳转到其它页面,都会抛出"302"这个正常的"异常".
哪个高手能指点一下这个怎么继续得到跳转的页面?
比如对新浪进行登录回返回一个302错误,返回的html里面有定向到新页面的url,
而其它一些网站似乎没有这个提示.怎么办?
binbin 2005-10-27
  • 打赏
  • 举报
回复
偶以前是自己写http客户端的,indy不会用:-(
rainfall19831109 2005-10-27
  • 打赏
  • 举报
回复
首先...Get是获取一个URL下的HTML代码...
要向HTTP服务器发送数据的话,应该是用Put或者Post
其中,地址是要提交的页....
PostData是要提交的数据...就象你程序中的"UserName=u&Password=123"

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧