直接使用的三种方式 
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, ISAPI, or NSAPI program.。以上是PB helper的阐明,翻译成中文就是:供给了在Windows缺省阅读器中显示WEB页,以及向支撑CGI,ISAPI,NSAPI的利用程序发送数据的才能。似乎还是不好懂得如何获取html,我也不懂得,假如你不知道她必需和另外一个对象 InternetResult object一起应用的话。

2、InternetResult object 
    好吧,我们持续看看InternetResult object 是什么东西,简略的说我们可以把它看作一个buffer,用于吸收异步数据传输的对象,就是说,它是一个buffer,用于接受并寄存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以下的版本,你必须在的internetResult的继续对象上定义函数InternetData()作为基类中的同名函数的笼罩函数。该笼罩函数必须包括一个类型为blob的参数采取传值方法传递,其返回值必需是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)好了,随意弄个口,再随意弄个按钮,在按钮里写一下代码 
              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)有些网站会断定游览器,你将无法获取它的源码。 相关的主题文章:

Powerbuilder编程技巧 如何获取网页的HTML源码的更多相关文章

  1. phantomjs 下拉滚动条获取网页的全部源码

    //codes.js var system = require('system'); var fs = require("fs"); //console.log('Loading ...

  2. 并发编程(六)——AbstractQueuedSynchronizer 之 Condition 源码分析

    我们接着上一篇文章继续,本文讲讲解ReentrantLock 公平锁和非公平锁的区别,深入分析 AbstractQueuedSynchronizer 中的 ConditionObject 公平锁和非公 ...

  3. C#编程总结(七)数据加密——附源码

    C#编程总结(七)数据加密——附源码 概述 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容 ...

  4. jenkins获取git上的源码

    jenkins获取git上的源码会遇到三种情况,我们在这里会分别介绍一下: 一.获取git上public(公有)的项目 只需配置仓库的URL即可 jenkins下使用git获取源码的配置方法 二.获取 ...

  5. python(30) 获取网页返回的状态码,状态码对应问题查询

    获取访问网页返回的状态码 html = requests.get(Url) respon = html.status_code 以下内容来自于维基百科:点击查看网页 1xx消息 这一类型的状态码,代表 ...

  6. Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)

    http://blog.csdn.net/yanzi1225627/article/details/22222735 如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Andr ...

  7. 用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)

    本文将介绍基于Senparc.Weixin微信开发框架来实现网页授权来获取用户基本信息.先生成包含授权及回调url信息的二维码:用户用微信扫描之后,被要求授权以获取Ta的用户基本信息:用户授权后,通过 ...

  8. 并发编程(四):ThreadLocal从源码分析总结到内存泄漏

    一.目录      1.ThreadLocal是什么?有什么用?      2.ThreadLocal源码简要总结?      3.ThreadLocal为什么会导致内存泄漏? 二.ThreadLoc ...

  9. Eclipse用法和技巧二十三:查看JDK源码

    使用java开发,如果能阅读JDK的经典代码,对自己的水平提高是很有帮助的.笔者在实际工作中总结了两种阅读JDK源码的方式.第一种下载android源代码,直接在android源码代码中,这里的代码虽 ...

随机推荐

  1. ViewPager和View组合 实现页面的切换

    //--------------主页面------------------------------- package com.bw.test; import java.util.ArrayList;i ...

  2. 完整版getByClass2016/4/20

    function getByclass(parent,sclass) { var re=new RegExp('\\b'+sclass+'\\b','i') var aEli=parent.getEl ...

  3. Lucene add、updateDocument添加、更新与search查询(转)

    package com.lucene;   import java.io.IOException;   import org.apache.lucene.analysis.standard.Stand ...

  4. 1. Hyper上的CentOS 6.5 网络配置

    在hyper上安装了一个centos系统, 默认安装的是命令行模式,网络默认是不开启的.由于是在虚拟机上安装的centos所以需要现在hyper上新添加一个网络适配器后然后再进行下面的设置: 登陆到r ...

  5. 学习笔记——状态模式State

    状态模式,主要是用于存在大量case判断的操作执行,同时这些case依赖于对象的状态,那么就可以将大量的case判断封装为独立的类. Context: -state,当前状态对象. ChangeSta ...

  6. mysql HA-keepalived

    关于MySQL-HA,目前有多种解决方案,比如heartbeat.drbd.mmm.共享存储,但是它们各有优缺点.heartbeat.drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对 ...

  7. Ubuntu系统搭建PPTP,VPN

    1.先安装pptp apt-get install pptpd 2.打开pptp的DNS vim /etc/ppp/option.pptpd 去掉下面两行内容前的# ms-dns 8.8.8.8 ms ...

  8. centos6.5下Zabbix系列之Zabbix安装搭建及汉化 (转)

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址 http://itnihao.blog.51cto.com/他做的zab ...

  9. MusiCode 批量下载指定歌手的所有专辑(已解除验证码限制)

    一直想把喜欢的歌手的专辑全都归类并下载下来,由于那专辑数量实在太多了,再加上最近开始学习python,就想着何不用python写个脚本把下载过程自动化呢?所以就花了点时间写了这么个东西,分享给有需要的 ...

  10. BASE64-客户端(js)加码-服务器端(c#)解码,URL传递“汉字参数”解决方法

    HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号('+'), 在 Decode 的时候将加号转为空格, 但是浏览器是不能理解加号为空格的, 所以如果文件名包含了 ...