分不是问题,问题在“如何向 HTTP 请求添加自定义标头” 问题可见:http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/eamwebteam.mspx?mfr=true我就是想实现这种功能,可惜本人的C很差只要能在Delphi里实现这种修改Header的功能,可以另开贴献分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 忘了说明,是根据具体的Url添加相应不同的Header 以Get为例,idhttp伪造session IdHttp1.Get(mURL1); mStr := IdHttp1.Response.CustomHeaders.Values['Set-Cookie']; if Pos(';',mStr)>0 then Session_ID := LeftBStr(mStr,Pos(';',mStr)-1) else Session_ID := mStr; IdHttp1.Request.CustomHeaders.Add('Cookie:' + Session_ID); IdHttp1.Get(mURL2); 这是我回给别人做网页自动登录后抓取后续html的示例代码,修改后可以满足你的要求。TIdHttp,是delphi自带的Indy clients下的组件 很可惜:(我是通过TWebbrowser连接的,我想对连接页面里的所有地址(比如那些图),都能修改其Header目前的做法是通过mInternetSession.RegisterNameSpace(mFactory, GUID_NULL, 'http', 0, nil, 0);来控制所有Http连接,但我不知道如何接管BeginningTransaction来达到修改Header的目的 twebbrowser有很多问题,建议你早点换了。不信你可以试试,用一个定时器,不断地用twebbrowser成功打开很多不同的网页,内存会很快被用光光的。 那做一个所谓的浏览器,用什么?EmbeddedWB也是基于它的呀 请问erhan(二憨) :你把URL1的Session用到URL2上有什么实际意义呢? 罢工中......http://community.csdn.net/Expert/topic/4899/4899587.xml?temp=.6865656 请问erhan(二憨) :你把URL1的Session用到URL2上有什么实际意义呢?------很多网站都是通过session来区分不同用户的访问(比如:用户是否登录,用户是以什么身份进行登录等等),当网站用session来记录用户是否登录,而你的连接请求里没有带入合法的session数据时,网站将视为未登录用户,可能会重定向到登录页面,禁止浏览真实的内容。意义何在,应该清楚了吧。我的例子里,url1就是登录页面,url2就是后续的访问 。人呢:(此问题还是没能解决但昨天无意中解决了Delphi程序的一个重大“问题”任务栏的右键菜单!哈哈,跟C写的程序一样了,6个选项都在! twebbrowser有很多问题,建议你早点换了。不信你可以试试,用一个定时器,不断地用twebbrowser成功打开很多不同的网页,内存会很快被用光光的。------------------------IE有很多问题,建议你早点换了。不信你可以试试,用一个定时器,不断地用IE成功打开很多不同的网页,内存会很快被用光光的。 procedure TWebBrowser.Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant);使用Navigate传入Headers不行吗? 不用twebbrowser,用什么?Embedded?它也是基于twebbrowser的呀Navigate不行,我要为页面里的图片下载请求加Header,而图片下载显然不会激活Navigate MSCOMM串口通信问题! 请教delphi调用VC编写的dll文件相关问题 散分,气死我啦。。。。。。。 连接Oracle一般用什么组件??? 问一个很小的问题,我想在数据库中的一个表中提一个字段的数据!用哪个控件好点 如何根据服务器名获取对应的服务端口号? 主从查询可以修改数据吗 关于BDE使用中的问题 我有个应用程序和数据库的问题。请高手指教一下。 拜师学艺见面酬谢 还是问个简单点的问题:使WebBrowser获得焦点 创建dll文件
IdHttp1.Get(mURL1);
mStr := IdHttp1.Response.CustomHeaders.Values['Set-Cookie'];
if Pos(';',mStr)>0 then
Session_ID := LeftBStr(mStr,Pos(';',mStr)-1)
else
Session_ID := mStr; IdHttp1.Request.CustomHeaders.Add('Cookie:' + Session_ID);
IdHttp1.Get(mURL2);
TIdHttp,是delphi自带的Indy clients下的组件
不信你可以试试,用一个定时器,不断地用twebbrowser成功打开很多不同的网页,内存会很快被用光光的。
你把URL1的Session用到URL2上有什么实际意义呢?
http://community.csdn.net/Expert/topic/4899/4899587.xml?temp=.6865656
你把URL1的Session用到URL2上有什么实际意义呢?
------很多网站都是通过session来区分不同用户的访问(比如:用户是否登录,用户是以什么身份进行登录等等),当网站用session来记录用户是否登录,而你的连接请求里没有带入合法的session数据时,网站将视为未登录用户,可能会重定向到登录页面,禁止浏览真实的内容。
意义何在,应该清楚了吧。我的例子里,url1就是登录页面,url2就是后续的访问
twebbrowser有很多问题,建议你早点换了。
不信你可以试试,用一个定时器,不断地用twebbrowser成功打开很多不同的网页,内存会很快被用光光的。
------------------------
IE有很多问题,建议你早点换了。
不信你可以试试,用一个定时器,不断地用IE成功打开很多不同的网页,内存会很快被用光光的。
var TargetFrameName: OleVariant; var PostData: OleVariant;
var Headers: OleVariant);使用Navigate传入Headers不行吗?