Powerbuilder编程技巧 如何获取网页的HTML源码 一
  直接使用的三种方法
1、 PB内部对象 Inet object
2、 API 函数
3、 Ole中的Microsfot Web 游览器对象
一、Inet object:
1、Inet object
The Inet object provides the ability to display a Web page in the default browser, access the HTML for a specified page,每日英语, and send data to a CGI,onitsuka tiger tokidoki, ISAPI, or NSAPI program.。以上是PB helper的说明,spyder skiwear,翻译成中文就是:提供了在Windows缺省浏览器中显示WEB页,以及向支持CGI,ISAPI,NS API的应用程序发送数据的能力。好像还是不好理解如何获取html,columbia outerwear,我也不理解,如果你不知道她必须和另外一个对象 InternetResult object一起使用的话,northface vest
2、InternetResult object
好吧,我们继续看看InternetResult object 是什么东西,简单的说我们可以把它看作一个buffer,用于接收异步数据传输的对象,就是说,它是一个b uffer,用于接收并存放html代码的东西,这回容易理解了吧。
InternetResult object无法直接使用,比如直接定义
InternetResult lnet_ InternetResult //这是非法的,我们看一下它的help
The InternetResult object acts as a buffer, receiving and caching asynchronous data, as it is returned using the Internet in response to the GetURL and PostURL function calls. The InternetResult object also provides the ability to process this data.
To use an InternetResult object, create a standard class user object that defines an InternetData function to process the passed HTML.
我们看斜体字部分,helper告诉我们必须创建一个standard class来使用它,为什么要这么麻烦,我的理解是,实际上这里是借助创建一个use object 来实现一个新的“线程”。然后用这个新的对象来接收 GetURL返回的数据��新的线程来完成异步数据接收,否则会阻塞现有应用。
3、又一个必须要说明的东西Internetdata
这个是InternetResult的一个函数,又一个景点覆灭了~,标准的写法是:servicereference.InternetData (Blob data )。好吧,很高兴我们有了一个函数了,pb又来了,这个函数是不能直接被使用的,它不会返回任何东西。算了 ,我们不贴help了,反正这是一个覆盖函数。如果你使用的是6.5以下的版本,你必须在的interne tResult的继承对象上定义函数InternetData()作为基类中的同名函数的覆盖函数。该覆盖 函数必须包含一个类型为blob的参数采用传值方式传递,54 Summary of human nature a little,其返回值必须是Integer类型.在函数体中处理data参数.。如果使用7.0以上的版本,那系统会 自动帮你创建这个覆盖函数,你只要在里面些代码就可以了。
4、开始代码吧
1)创建一个InternetResult 的 standard class 并取名为n_internetresult。
2)在n_internetresult中创建一个实例变量 string is_data
3) 在n_internetresult:internetdata()函数写上如下代码
is_data = string(data , EncodingUTF8!)
这里必须说明,string指定字符集只有在9.0版本后才有效,如果在这之前的版本上使用,恭喜你,只能 直接调用api函数来转换了
4)好了,air max 2003 for men,随便弄个窗口,再随便弄个按钮,在按钮里写一下代码
n_internetresult n_ir
inet inet_base
string ls_url = ‘http://www.google.com’
inet_base.GetURL(ls_url , n_ir)
messagebox(‘www.google.com:html’, n_ir.is_data)
5) 你可以运行它了
5、很重要,必须要说明的一些规则
1)Inet无法获取大于65535的源码,它会直接截断它,很郁闷吧。
2)有些网站会判断游览器,你将无法获取它的源码。
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • sprus.opx.pl


  •  

     

     

     

     

     

     

     

     

     

     

     

       
     
      Powerbuilder编程技巧 如何获取网页的HTML源码 一
    Rosja « Przeprowadzka, czyli Magda i Przemek w podróży