标题:vfp读取网页指定的一行数据!
只看楼主
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
结帖率:83.64%
已结贴  问题点数: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: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:3 
把   C1 = '<div id="last_box_102">密码: '
改为:C1 = '<div id="last_box_102">密码:'
最后一个空格多余.
2020-09-30 16:17
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
得分:0 
回复 2楼 厨师王德榜
谢谢王老师!

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

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

2020-09-30 16:37
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册: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
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
得分:0 
谢谢老师,我在其他form上测试,全有用。就是在我试用的form表单上不显示!是不是表单设计了什么?
2020-10-01 07:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册: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
等 级:新手上路
帖 子:187
专家分: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
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册: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
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
得分:0 
回复 8楼 吹水佬
非常感谢!
2020-10-02 08:47
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
得分:0 
回复 8楼 吹水佬
如果没有网络连接,则出现报错。
如下





哈哈已成功解决!!!!

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

2020-10-02 10:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503327-1-1.html




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

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