| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2726 人关注过本帖
标题:vfp读取网页指定的一行数据!
只看楼主 加入收藏
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
结帖率:83.93%
收藏
已结贴  问题点数:20 回复次数:11 
vfp读取网页指定的一行数据!
网页:http://www.  此网页显示内容为: 密码:2020929

要求:vfp9.0   label4.caption="2020929"

************************************
TRY
oXml = CreateObject("MSXML2.XMLHTTP")
cUrl = "http://www.
oXml.Open("GET", cUrl, .F.)
oXml.Send()
lcText=STRCONV(STRCONV(oXml.ResponseBody, 11), 2)
C1 = '<div id="last_box_102">密码: '
C2 = "</div>"

thisform.label4.caption=STREXTRACT(lcText, C1, C2)
THISFORM.Label4.forecolor=RGB(0,64,0)

RELEASE oXml
CATCH TO mError
messagebox("可能没有连接网络,请检查网络!",48,"错误提示!")
ENDTRY

老师:为什么我的label4.caption显示是空的? 难道是C1 = '<div id="last_box_102">密码: '错的??
还是lcText=STRCONV(STRCONV(oXml.ResponseBody, 11), 2) 错?
请老师赐教!谢谢


[此贴子已经被作者于2020-9-30 15:32编辑过]

搜索更多相关主题的帖子: 网页 div vfp caption 密码 
2020-09-30 15:28
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:987
专家分:4946
注 册:2013-2-16
收藏
得分:3 
   C1 = '<div id="last_box_102">密码: '
改为:C1 = '<div id="last_box_102">密码:'
最后一个空格多余.
2020-09-30 16:17
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 2楼 厨师王德榜
谢谢王老师!

没用,试过了。
是不是所在的表单上有什么没有设计好!请老师测试下,谢谢。

[此贴子已经被作者于2020-9-30 17:07编辑过]

2020-09-30 16:37
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:2 
按2楼说的,去掉空格,我这里测试正常
还有,可能是大小写问题,我测试发现
C1 = '<div id="last_box_102">密码:'
改为
C1 = '<div id="Last_box_102">密码:' && L 大些,发现,显示空的
所以,你可以统一大小写看看;
...
lcText=lower(STRCONV(STRCONV(oXml.ResponseBody, 11), 2))
C1 = lower('<div id="Last_box_102">密码:')
2020-09-30 17:14
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
谢谢老师,我在其他form上测试,全有用。就是在我试用的form表单上不显示!是不是表单设计了什么?
2020-10-01 07:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:5 
试试:
程序代码:
oXml = CREATEOBJECT("MSXML2.XMLHTTP")
cUrl = "http://www./index20200930102856"
oXml.Open("GET", cUrl, .F.)
oXml.Send()
IF oXml.readyState==4 AND oXml.status==200
    thisform.label4.caption = STREXTRACT(oXml.ResponseText, "密码:", "<")
ELSE
    messagebox("可能没有连接网络,请检查网络!",48,"错误提示!")
ENDIF
RELEASE oXml
RETURN
2020-10-01 10:33
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
感谢:厨师王德榜 mywisdom88 吹水佬
1:厨师王德榜建议去掉空格,和mywisdom88 老师建议大小写,这个都没有问题,问题是在这个A表单上就不显示,到其他表单上都没问题。实在找不到A表单在哪做了什么设计。谢谢
2:吹水佬的代码在A表单上可以显示。但我不理解oXml.readyState==4 AND oXml.status==200   这个 4和200是怎么得来的?谢谢。
2020-10-01 14:57
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:10 
以下是引用wangjiayu45在2020-10-1 14:57:20的发言:

oXml.readyState==4 AND oXml.status==200   这个 4和200是怎么得来的?谢谢。

程序代码:
readyState 属性
    值 说明 
    -- ------------------------------------------------
    0  Response对象已经创建,但XML文档上载过程尚未结束 
    1  XML文档已经装载完毕 
    2  XML文档已经装载完毕,正在处理中 
    3  部分XML文档已经解析 
    4  文档已经解析完毕,客户端可以接受返回消息 

status 属性
    服务器返回的HTTP状态码,其中:
    200  OK,一切正常,对GET和POST请求的应答文档跟在后面
    404  Not Found,无法找到指定位置的资源
2020-10-01 15:52
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 8楼 吹水佬
非常感谢!
2020-10-02 08:47
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 8楼 吹水佬
如果没有网络连接,则出现报错。
如下
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册



哈哈已成功解决!!!!

[此贴子已经被作者于2020-10-2 10:58编辑过]

2020-10-02 10:38
快速回复:vfp读取网页指定的一行数据!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017271 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved