
获取远程计算机的URL的四种方法。
1、用file_get_contents,以get方式获取内容。
2、用fopen打开url,以get方式获取内容。
3、用file_get_contents函数,以post方式获取url。
4、使用curl库,使用curl库之前,需先确认有打开curl扩展。
统一资源定位符(UniversalResourceLocator,URL),又叫做网页地址,是互联网上标准的资源的地址。
集群允许转换以及转换中的步骤在多个服务器上并发执行。在使用kettle集群时,首先需要定义的是Cluster schema。所谓的Cluster schema就是一系列的子服务器的集合。在一个集群中,它包含一个主服务器(Master)和多个从属服务器服务器(slave)。如下图所示:
子服务器(Slave servers)允许你在远程服务器上执行转换。建立一个子服务器需要你在远程服务器上建立一个叫做“Carte”的 web 服务器,该服务器可以从Spoon(远程或者集群执行)或者转换任务中接受输入。
在以后的描述中,如果我们提到的是子服务器,则包括集群中的主服务器和从属服务器;否则我们会以主服务器和从属服务器来进行特别指定。
注意: 在集群环境下执行转化时,你必须有一个子服务器作为主服务器(master
server)而其余所有的子服务器都作从属服务器(slave server)
代理服务器主机名
设置你要通过代理进行连接的主机名
代理服务器端口
设置与代理进行连接时所需的端口号
Ignore proxy for hosts: regexp|separated
指定哪些服务器不需要通过代理来进行连接。该选项支持你使用正则表达式来制定多个服务器,多个服务器之间以'
| ' 字符来进行分割
创建cluster schema
定义转换
定义完了 cluster schema 后,下一步就是定义在集群环境下执行的转换。我们这里展现的只是一个最简单的例子,完全是为了演示而用。现实情况中的集群有可能非常复杂。
首先你像平时一样创建转换,以hop连接连个两个步骤。然后你指定第二个步骤将在集群下执行
然后选择需要使用的集群。转换如图一样显示在GUI中。
注意 Cx4显示这个步骤将在集群中运行,而这个集群中有4个从属服务器。假设我们将计算结果再次存入到数据表中
这个转换虽然定义了集群,但是我们同样可以让它在单机环境下执行,而且可以得到相同的结果。这意味着你可以使用普通的本地模式来测试它。
执行转换
要想以集群方式来运行转换或者作业,首先需要启动在Cluster schema中定义的主服务器和从属服务器,然后再运行转换或者作业。
启动子服务器
子服务器其实是一个嵌入式的名为 Carte 的 小web server。要进行集群转换,首先需要启动cluster schema中的子服务器
脚本启动
kettle 提供了 cartebat 和 cartesh ( inux )批处理脚本来启动子服务器,这种启动方式分为两种
使用主机号和端口号
Carte 127001 8080
Carte 1921681221 8081
使用配置文件
Carte /foo/bar/carte-configxml
Carte url
完整的url语法格式:
协议://用户名@密码:子域名域名顶级域名:端口号/目录/文件名文件后缀参数=值#标识
2 、urlparse模块对url的处理方法
urlparse模块对url的主要处理方法有:urljoin/urlsplit/urlunsplit/urlparse等。该模块对url的定义采用六元组的形式:schema://netloc/path;parametersquery#fragment。其中,netloc包含下表的后4个属性
urlparse()
利用urlparse()方法对url进行解析,返回六元组;urlunparse()对六元组进行组合
urljoin()
利用urljoin()方法对绝对url地址与相对url地址进行拼合
主要使用urljoin()比较常用——给出以下示例:
>>>from urllibparse import urljoin
>>> urljoin(">
前言
近几天组内交给我一个任务,就是研究kettle的restful接口的调用。可是之前学习和接触的大部分都是数仓、BI以及一部分简单程序、脚本的编写,所以对restful接口不是很了解(但只是用工具调用的话,不需要太深的了解,只需要知道这是一种可以调用的API接口,实现某种功能就行了),所以在网上查找了很多资料,但其实对于调用来说,只需要知道在我们在调用这个接口时,需要哪些参数,应该怎样传入就可以了。感觉上好像很简单,但其实里面有很多坑,接下来我们就开始吧
正文
1、首先,我们要知道我们需要调用的接口的URI,简单理解就是你要调用的资源的地址,就像门派号一样,用到什么命令,传递什么参数。一般而言,需要让你进行调用,都会把这部分内容列出来,比如:
在这个API中,可以看到具体的信息,①是 *** 作行为,②是传递的body,③是请求头,在此就不多说了,该部分内容大家可以自行查阅资料,对这些内容我可能比大家还不清楚。知道我要调用的API之后,就可以通过kettle设计转换流程了。
一、生成记录
因为只是一个测试,所以我直接通过生成记录组件生成了我所需要的内容,ps:这里不仅仅可以配置单条记录,其实多条同样请求的记录同样会分别请求。
url是将要post的资源,post后得到关于token的response,然后再利用token进行其余的请求。
body是post的函数体,post时,有的需要带body才能通过。
url2是真正要进行调用的API,都在生成记录里预生成了。
二、REST Client配置
三、JSON Input
利用JSON Input接收由REST Client获取的结果,只保留token的值。此处JSON路径如何设置不多赘述,请读者自行查阅JSON路径的配置。
对于JSON Input 3中获取Cookie是为了调用真正的API做准备。如果没有带Cookie,后续的调用就无法确定是否进行了登录。在一个网页中,我们先进行登录,然后继续后续 *** 作,后续每次 *** 作都不需要再次登录,是因为我们将服务器传给我们的session存入了客户端/浏览器的cookie中,每次我们做请求,都会带上cookie,就不需要重复登录了。但是此处如果不获取cookie,因为是分离开的,所以后一步就会出现会话无效的错误。如下图所示:
四、记录集连接
因为cookie和token在不同的表中,所以需要将两张表join起来,join的 *** 作大家应该都很熟悉了。如果不清楚,后续可以留言我给大家进行补充。最后留下我们需要的几个参数,URL2、token、cookie
五、调用API
以上就是全部内容,如果有什么疑问或者有什么疏漏,欢迎大家指正。
以上就是关于如何获取远程计算机的URL全部的内容,包括:如何获取远程计算机的URL、求教Kettle5.2集群问题、python中中怎么解决url变成文本格式后不能点击等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)