拿http://www.oup.com/oald-bin/web_getald7index1a.pl为例. 这个网站是一个在线查字典的网站. 输入单词就可以给出英文解释. 我现在想通过程序来返回结果.  在form上放上一个文本框,一个确定按钮和一个webbrowser.  程序要求是在文本框输入单词,然后点击确定按钮. webbrowser会显示搜索结果.我用自动填写表单的方法实现了搜索. 不过要求事先用webbrowser的navigate方法导航到该页.等带网页完成时才能填写表单并执行submit来提交. 这样速度比较慢,不能满足要求. 
现希望用http request的方法直接实现. 我用软件截取了当查询"good"这个词的时候,浏览器发送的http包,其信息如下:HTTP - 超文本传输协议                          [54/686]
    HTTP 请求:                            POST /oald-bin/web_getald7index1a.pl HTTP/1.1
    Accept:                             image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
    Referer:                            http://www.oup.com/oald-bin/web_getald7index1a.pl
    Accept-Language:                    zh-cn
    Content-Type:                       application/x-www-form-urlencoded
    Accept-Encoding:                    gzip, deflate
    User-Agent:                 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
    Host:                               www.oup.com
    Content-Length:                     16
    Connection:                         Keep-Alive
    Cache-Control:                      no-cache
    Cookie:        WT_FPC=id=*************************:lv=************:ss=*********
    Line 1:                             search_word=good 请问这些信息怎么用? 如何将要查询的单词放到request中并且返回结果并在webbrowser中显示? 请各位高手不吝赐教. 谢谢, 最好给些代码;

解决方案 »

  1.   

    1、WebBrowser 方案下可以使用 about:blank 作为初始载入页面,而不必非要使用目标页面,除非对方验证了 HTTP_Referer2、HttpRequest 方案可以在 XMLHttp COM 组件等其它方式下使用,方法一模一样,语法不同而已。对于你的 httpRequest 的目标应该是网站 host + "/oald-bin/web_getald7index1a.pl?search_word=good",referer 用 host 即可(不一定非要是"http://www.oup.com/oald-bin/web_getald7index1a.pl"),Method 为 POST 即可如果对方还要判断 Cookie,则会稍微麻烦一些,不过一般来说这样的站点功能没必要验证访问来源以及 Cookie,比较简单就能实现
      

  2.   

    1.webbrowser方案导航到目标页是为了得到源码并且分析其htmlelement,然后填写表单用的. 
    2.具体过程我已经实现了 谢谢小猪的回答
      

  3.   

    >webbrowser方案导航到目标页是为了得到源码并且分析其htmlelement
    如果是对方的页面内容是动态的倒是有必要,否则对于你而言察看源代码分析得到action url 和参数名(表单中的fields)即可不必客气,我曾经设计过一个通用的表单提交系统(配置文件+插件),可惜没能坚持住实现完毕。
      

  4.   

    re:请问这些信息怎么用? 如何将要查询的单词放到request中并且返回结果并在webbrowser中显示?这些可以得到cookiecontainer,你在提交信息的时候它会承认你是登陆过它的页面,合法的
      

  5.   

    在用post方法的时候出现了些问题.....1 , 页面上所有的图片均不能正常显示.2 , 如果用httprequest得到了结果并通过设置webbrower的doucment属性显示了页面后.  输入其他单词然后提交会不能正常显示页面. 什么原因啊?