易语言 下载文件

我先用http读文件读我放在网络空间的一个txt 然后写出文件 但是原txt文件有4KB 写出来的文件只有10多KB,打开里面还都是些不知道是什么的东西 求大神们帮帮忙!
这是我写的:
.版本 2
.程序集 窗口程序集2
.程序集变量 c, 字节集
.版本 2
.支持库 internet
.子程序 _窗口1_创建完毕

c = HTTP读文件 (“http://xxxxxxxx.com/1.txt”) '这里网站不太好透露,抱歉,直接打开是可以在网页上打开的。
写到文件 (“D:\资源库.txt”, c)

你这个读文件会不会读出来的是网页源码啊,你用编码转换试试看转出来的应该就是你原来的文字了。
而且你这个文件应该不大,可以发成网页文本,然后用下面的源码试试

.版本 2
.支持库 internet
.支持库 iconv

.子程序 网页编码转换, 文本型, , 转换网页源文件编码
.参数 地址, 文本型
.局部变量 字节集, 字节集
.局部变量 b, 整数型
.局部变量 d, 文本型

字节集 = HTTP读文件 (地址)‘这里就是你网页的绝对路径
b = 编码转换_打开 (#编码_UTF_8, #编码_GBK)
字节集 = 编码转换_转换 (b, 字节集, )
编码转换_关闭 (b)
d = 到文本 (字节集)
返回 (d)

.子程序 取指定内容, 文本型
.参数 完整内容, 文本型
.参数 左边文本, 文本型
.参数 右边文本, 文本型
.局部变量 临时位置, 整数型
.局部变量 总长度, 整数型
.局部变量 临时内容, 文本型

总长度 = 取文本长度 (完整内容)
临时位置 = 寻找文本 (完整内容, 左边文本, , 假) + 取文本长度 (左边文本)
临时内容 = 取文本中间 (完整内容, 临时位置, 总长度)
总长度 = 取文本长度 (临时内容)
临时位置 = 寻找文本 (临时内容, 右边文本, , 假) - 1
临时内容 = 取文本中间 (临时内容, 1, 临时位置)
返回 (临时内容)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-01
我们以百度云客户端的直链为例,提取直链中BaiduYunGuanjia_5.3.6.exe的BaiduYunGuanjia_5.3.6的文本文字。

运行易语言,进入“新建工程”文件对话框,选择“Windows窗口程序”然后点击“确定”按钮,进入“Windows窗口程序”设计界面。

在启动窗口我们添加一个编辑框和按钮,便于一会便于展示提取出来的文本。

点击按钮进入窗口程序集界面,我们先添加精易模块V3.3,然后按Ctrl+L键创建一个变量,变量名:文件名,类型:文本型。

开始写源码,如下图,使用的是精易模块里的文本_取出中间文本,我们要取出直链里的文本。

然后我们再写一个命令,把提取出来的文件名放入编辑框中,来确认下提取的是不是正确。

完成后我们直接运行,点击按钮,看,我们需要的文件名直接出现在了编辑框里。

文件名提取是为了在不改名字的情况下,把下载的文件写入电脑,然后自动执行。有很多的扩展思路。
相似回答