|
|
易语言命令名称:3 z5 f; K% b; ^8 q. I
网页_访问_对象
8 R% ^- ?" x# S6 @! o0 k1 E
$ p8 O! g- P+ H' E命令功能介绍:' k# l& B3 K9 F" r$ C2 c9 w
0 a, t' e" d; C' M: ]5 w使用WinHttp的对象方式访问网页
% F( W( k5 \5 b/ K; c X- F命令类别:精易模块命令* J; e; F6 R9 m& } z2 x! n$ M
1 l0 C8 L# ]! B' Z0 \9 j- }
5 A4 D2 p, m$ s/ e3 c' {# G* G命令使用说明: n; [% k5 Q. H* `1 C7 p% i
子程序名:网页_访问_对象
2 N. T( z, G6 S9 E" ~ 使用WinHttp的对象方式访问网页5 o! W0 d, Z( F) |2 C; I5 s* l
返回值类型:字节集
b( U) V1 h5 U; V+ { 参数<1>的名称为“网址”,类型为“文本型”。注明:完整的网页地址,必须包含http://或者https://。
! [% k7 W, {5 H' ~# f4 G8 e 参数<2>的名称为“访问方式”,类型为“整数型”,允许接收空参数数据。注明:0=GET 1=POST 2=HEAD 3=PUT 4=OPTIONS 5=DELETE 6=TRACE 7=CONNECT。+ q$ f" {- w4 V" ~
参数<3>的名称为“提交信息”,类型为“文本型”,允许接收空参数数据。注明:"POST"专用 自动UTF8编码。9 C6 e+ c: d6 a. l t7 [
参数<4>的名称为“提交Cookies”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:设置提交时的cookie。* v# c) p8 G7 ]1 Q( h% F; k
参数<5>的名称为“返回Cookies”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:返回的Cookie。( g5 P4 p3 {" o+ [! Z/ I8 u
参数<6>的名称为“附加协议头”,类型为“文本型”,允许接收空参数数据。注明:一行一个请用换行符隔开。
+ r# B1 j& K( U4 X2 h/ Z7 J 参数<7>的名称为“返回协议头”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:返回的协议头。5 Y! F. X! q e/ p [% ]7 v& ^; b
参数<8>的名称为“返回状态代码”,类型为“整数型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:网页返回的状态代码,例如:200;302;404等。# v( l7 ^% M* O
参数<9>的名称为“禁止重定向”,类型为“逻辑型”,允许接收空参数数据。注明:默认不禁止网页重定向。) D; n8 s0 x* }$ ^; y
参数<10>的名称为“字节集提交”,类型为“字节集”,允许接收空参数数据。注明:提交字节集数据。. o3 D" ]9 y) s6 Y/ C1 W3 j4 `
参数<11>的名称为“代理地址”,类型为“文本型”,允许接收空参数数据。注明:代理地址,格式为 8.8.8.8:88。
- E& P8 c" L0 X; i) K 参数<12>的名称为“超时”,类型为“整数型”,允许接收空参数数据。注明:秒|默认为15秒,-1为无限等待。* z8 {0 b0 `3 e, t$ [% F, @
参数<13>的名称为“代理用户名”,类型为“文本型”,允许接收空参数数据。注明:用户名。
4 T5 e4 G- e! r9 { 参数<14>的名称为“代理密码”,类型为“文本型”,允许接收空参数数据。注明:密码。
) ?! x' X" J& X2 W' L4 [+ G$ [' n 参数<15>的名称为“代理标识”,类型为“整数型”,允许接收空参数数据。注明:代理标识,默认为1,0为路由器。
3 \; a, e( v' G$ l" O 参数<16>的名称为“对象继承”,类型为“对象”,允许接收空参数数据。注明:此处可自行提供对象,不再主动创建。
5 j- |( l2 N8 n l- H2 [ 参数<17>的名称为“是否自动合并更新Cookie”,类型为“逻辑型”,允许接收空参数数据。注明:默认为真,自动合并更新。" Y/ ] ^# E( Z1 m$ g
参数<18>的名称为“是否补全必要协议头”,类型为“逻辑型”,允许接收空参数数据。注明:当附件协议头为空时自动添加必要的UA协议头 默认为真,假将不再添加非传入协议头。
' K1 ^. l# u" F" y. g7 j2 o 参数<19>的名称为“是否处理协议头大小写”,类型为“逻辑型”,允许接收空参数数据。注明:将协议头中的键名首字母处理为大写 默认为真。) V' _) J; X: z9 K7 T: Q! z' F
* c+ n# _6 E r
" s9 Y. ]0 k1 y/ g
7 U, k* [7 B |4 g& O
4 k# r5 d3 f/ A
. ]' o- S! K3 _3 E* s0 ^# i
+ w2 _5 g$ z9 j命令源码:
) `5 T1 D6 b) n( {/ T- L. Z1 `5 M; q$ `8 w z1 t* N# x/ e
- .版本 2
- n* f; P6 q- V, }4 F6 S8 O' m
0 Y0 f+ h/ B4 j" _- .子程序 网页_访问_对象, 字节集, 公开, 使用WinHttp的对象方式访问网页1 c9 L$ y7 i: v. A8 C
- .参数 网址, 文本型, , 完整的网页地址,必须包含http://或者https://
& ` h( T5 ]& ?, I! w# V - .参数 访问方式, 整数型, 可空, 0=GET 1=POST 2=HEAD 3=PUT 4=OPTIONS 5=DELETE 6=TRACE 7=CONNECT
1 q9 n+ i2 f3 q% q# r - .参数 提交信息, 文本型, 可空, "POST"专用 自动UTF8编码: M4 H. S1 N6 I6 m i0 v: @% I2 E, q
- .参数 提交Cookies, 文本型, 参考 可空, 设置提交时的cookie
: q6 r9 L8 ~( C& G$ G - .参数 返回Cookies, 文本型, 参考 可空, 返回的Cookie
5 b s& |; e% k% y - .参数 附加协议头, 文本型, 可空, 一行一个请用换行符隔开8 e: e7 |0 {5 l1 F- v0 s: R
- .参数 返回协议头, 文本型, 参考 可空, 返回的协议头
1 z. h9 F" d8 v4 Q0 c. D# _) _ - .参数 返回状态代码, 整数型, 参考 可空, 网页返回的状态代码,例如:200;302;404等
/ } @. y' z x. J - .参数 禁止重定向, 逻辑型, 可空, 默认不禁止网页重定向6 Q8 V/ p% E! m& w* X* x
- .参数 字节集提交, 字节集, 可空, 提交字节集数据
' ^; X; h' n/ Z: c - .参数 代理地址, 文本型, 可空, 代理地址,格式为 8.8.8.8:88! R3 L1 I. x# z! T- M) b
- .参数 超时, 整数型, 可空, 秒|默认为15秒,-1为无限等待/ D) {4 C" K9 H- ?) o
- .参数 代理用户名, 文本型, 可空, 用户名
3 \, U J/ c; Z+ Z0 }% ~ - .参数 代理密码, 文本型, 可空, 密码9 f* H9 }- T" T" O
- .参数 代理标识, 整数型, 可空, 代理标识,默认为1,0为路由器
+ C- i" O% n. Z- Q* l4 Y9 E, O) o, J - .参数 对象继承, 对象, 可空, 此处可自行提供对象,不再主动创建8 _3 X# G- G& U9 u' w' b
- .参数 是否自动合并更新Cookie, 逻辑型, 可空, 默认为真,自动合并更新
* h' g7 D$ {! L! G& t - .参数 是否补全必要协议头, 逻辑型, 可空, 当附件协议头为空时自动添加必要的UA协议头 默认为真,假将不再添加非传入协议头+ p2 D1 G5 x1 O- ~% [
- .参数 是否处理协议头大小写, 逻辑型, 可空, 将协议头中的键名首字母处理为大写 默认为真; y8 f; H# l# b6 V* {& c c( k
- .局部变量 局_访问方式, 文本型0 |- W3 {: _+ J$ T3 n
- .局部变量 局_WinHttp, 对象
! }( |! r5 n- O- g - .局部变量 局_发送协议头, 文本型, , "0": X, u0 y3 D0 N% j3 g4 U* c( Y- E
- .局部变量 局_返回协议头, 文本型, , "0"
" w7 ^, e+ |! l2 B( P! d - .局部变量 局_计次, 整数型
6 N# A" k4 r3 I; x; q" H) y$ r9 j - .局部变量 局_网页数据, 字节集
' X. i9 s+ |7 T* o/ f - .局部变量 局_变体提交, 变体型
0 Y _/ d' b1 k - 8 z7 D) T2 X. A2 y# I2 Z
- .如果真 (是否为空 (是否自动合并更新Cookie)); a3 H" k6 f: C! M7 q0 Z, Y7 f
- 是否自动合并更新Cookie = 真
' R) T" y. ]. g1 w0 B - .如果真结束2 d/ t8 }: |9 I- a9 b: B! e& u$ o
- 8 t' ?. O, r1 ^0 P* |, U
- .如果真 (是否为空 (是否补全必要协议头))+ M3 z$ ~& x( c, q' ]
- 是否补全必要协议头 = 真
$ j- `/ c' H: Y: z: v7 x - .如果真结束, `% A6 X% D. t; f% U1 ~" h. U% `% R" A
- : i K ^. i" H: A. [
- .如果真 (是否为空 (是否处理协议头大小写))
" I; l% V" a% F9 f- r9 J" \ - 是否处理协议头大小写 = 真
; n, a* I! E+ Q" G - .如果真结束
: M; M% Q3 y/ B) s - * n; m) ^( q9 r# V6 S( B
- 线程_初始化COM库 ()
! x v \/ ?0 S% X' d2 u - 3 H1 M4 s1 v: k; [& U* Z
- .如果真 (访问方式 < 0 或 访问方式 > 7)
& E2 |+ p4 F4 k* r6 g - 访问方式 = 0
; J/ A: J# ]7 q# m2 c0 P& I - .如果真结束" ?. N9 U- W5 g% s" |; q- B
- 局_访问方式 = 多项选择 (访问方式 + 1, “GET”, “POST”, “HEAD”, “PUT”, “OPTIONS”, “DELETE”, “TRACE”, “CONNECT”)
' c% V9 z2 |. Q$ r7 z, o; H
3 J4 v; X0 j, `- .判断开始 (是否为空 (对象继承))
2 G9 x/ j$ ]8 L3 ^# ~ - .如果真 (局_WinHttp.创建 (“WinHttp.WinHttpRequest.5.1”, ) = 假)- |5 |6 k- A7 w
- 返回 ({ })- j6 y4 `/ v% ]3 Y. J8 g# l! Z! Q6 E
- .如果真结束
! r I' v' z# s, g G. V
" ?9 h7 f9 z/ m$ e$ ~- .默认3 v! |( N7 A5 Z! M& a) V) o2 h
- 局_WinHttp = 对象继承: b: B9 }- G1 ~" M9 d5 V
- .判断结束0 H4 J: a9 Z) V1 D0 h
" @0 o. n0 W/ \* @ a2 o P. D( C$ x% J- .如果真 (超时 ≠ -1)
) g% m1 m1 P: _ ^$ L - .如果 (超时 < 1)
; v2 y( b" q4 L5 Q% J5 g9 D - 超时 = 15000
) g/ W2 |& A7 `8 O F* ? x1 a - .否则/ i$ _% @" a/ q/ R& J% J, s
- 超时 = 超时 × 1000
9 C7 Z& {0 [; C- B$ j - .如果结束, B2 [1 b6 k v6 Z
- 局_WinHttp.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)
6 p5 B0 E0 A4 f: M; N: Z - .如果真结束
. V* ? P% o9 Z1 ?- ~ N9 y5 ` - 6 h% ^& Y7 `3 \, r
- .如果真 (代理地址 ≠ “”)# ?& A- p4 `& \( _
- 局_WinHttp.方法 (“SetProxy”, 2, 代理地址)
; H* S/ Y. t* K3 T6 T - .如果真结束
3 v5 V" i7 G. V6 s/ K - 局_WinHttp.方法 (“Open”, 局_访问方式, 网址, 假)
- T+ ~& H6 [! i - .如果真 (禁止重定向)
2 i% t+ ~# x& e% I - 局_WinHttp.写属性 (“Option”, 6, 0)4 w, J2 U& g% D: F" K+ W1 {3 c, O
- .如果真结束
3 `6 W$ M3 c4 \# e$ X, f; J - , O( v5 a, x! p) i
- 局_WinHttp.写属性 (“Option”, 4, 13056) ' 忽略错误标志
$ i' n. M" N2 J4 j$ e
) B- {, {6 k' ~/ {: U, z' o- . y- o6 l$ |- I7 i2 x& f! m
- .如果真 (是否补全必要协议头)
, g% k! e; ?. z2 C( O9 C8 E - .如果真 (寻找文本 (附加协议头, “Accept:”, , 真) = -1)- z4 n- B! O. y: I+ E# w% n- q
- 附加协议头 = 附加协议头 + #换行符 + “Accept: */*”0 t _* c+ ]: t$ C! G% Z2 |
- .如果真结束: m7 b* @) Z( p" h' g8 D5 t- d
- / m5 N9 m; E! W- U7 ^% r( A
- .如果真 (寻找文本 (附加协议头, “Referer:”, , 真) = -1)
% k. ^ X) W0 t2 k( p: B( t* y - 附加协议头 = 附加协议头 + #换行符 + “Referer: ” + 网址
/ r% ]8 C$ Z; e6 U7 x" { - .如果真结束( H) s' e# C8 }3 L% B
5 `0 i3 x1 t, F. x0 s9 D- .如果真 (寻找文本 (附加协议头, “Accept-Language:”, , 真) = -1)1 \3 x% J* g- Y6 _6 s4 ], S- z
- 附加协议头 = 附加协议头 + #换行符 + “Accept-Language: zh-cn”
5 O( d: [( Y5 } - .如果真结束
- ]7 b8 \: C2 @) W
3 p4 m e* J. Y* ?/ ^1 Y7 r1 N- .如果真 (寻找文本 (附加协议头, “User-Agent:”, , 真) = -1)
9 N: i/ p6 O9 A - 附加协议头 = 附加协议头 + #换行符 + “User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)”
( T5 B/ I: K2 V. R8 U3 K! U @" Q& |% q - .如果真结束7 W# z1 n- L8 w
7 J- B& v3 f5 n( C9 k0 p2 a- .如果真 (访问方式 = 1)
K0 y0 Y L" p: S - .如果真 (寻找文本 (附加协议头, “Content-Type:”, , 真) = -1)3 G, x" I7 n% Y; v# T1 S
- 附加协议头 = 附加协议头 + #换行符 + “Content-Type: application/x-www-form-urlencoded”
- ?1 p. x, `9 \* z - .如果真结束
7 V4 j6 ?, S% c j- z3 B$ C+ S - & X9 t( P7 O0 y8 ^+ E% F
- .如果真结束
" I5 u) ~$ I. a% \, ?4 \2 s% ]
- J6 x& N! i6 s" R/ e- .如果真结束
7 f: {- ^9 ~0 s
" H5 @# A6 b/ n: v E- .如果真 (是否处理协议头大小写)
1 x f0 \4 r M, i( l5 p - 附加协议头 = 网页_处理协议头 (附加协议头)9 t# f7 t0 f3 z$ _- X' T
- .如果真结束9 v& g. v: ?& Q! {
- 3 V7 x1 G t `9 n- m! J+ B# i
- .如果真 (代理地址 ≠ “” 且 代理用户名 ≠ “”)
5 Q9 o M: E a - .如果真 (是否为空 (代理标识))
- d" o8 a7 ]) q- N+ f" `/ p - 代理标识 = 1
0 f- P/ U* I" u4 t' `& L - .如果真结束
: K: k1 m, _5 @0 U- ^5 c9 }9 o - ' 局_WinHttp.方法 (“SetProxyCredentials”, 代理用户名, 代理密码, 代理标识)1 L( e5 n' G! N" b1 j7 d- [
- .如果真 (代理标识 = 1)( S; j; }( e' ^( K u
- 局_WinHttp.方法 (“SetRequestHeader”, “Proxy-Authorization”, “Basic ” + 编码_BASE64编码 (到字节集 (代理用户名 + “:” + 代理密码)))
6 b/ _( }6 @( X* s - .如果真结束) i1 F$ T. a) j- b: w8 Q" B
- & L1 s @ O5 q6 Y% v
- .如果真结束
0 d8 k9 k# h S, U/ g; m' c" U - 4 W0 P" J+ p# Y/ w! i0 [' e
- .如果真 (取反 (是否为空 (提交Cookies))): _( ]2 `" R; [5 \( U2 |5 b
- .如果真 (取文本长度 (提交Cookies) > 0)% ?6 P* N8 A9 h; G3 C
- .如果真 (寻找文本 (提交Cookies, “Cookie:”, , 真) ≠ -1)
+ v3 A. D* g) K D. G! Q8 f1 F; M - 提交Cookies = 子文本替换 (提交Cookies, “Cookie:”, “”, , , 假)! p& X* X5 A$ y
- .如果真结束
1 T7 @9 Z& p" f- U - ; X `! c5 \1 P7 j
- .如果真结束
0 }8 f3 f, ^, a, h0 ], r - 局_WinHttp.方法 (“SetRequestHeader”, “Cookie”, 提交Cookies)
6 W& ~* e- h, l0 [0 {1 q$ g - .如果真结束
* v" i+ Y. E) ]9 e9 |5 P n - . F" P" n# J& F- c- K+ f8 }) f
- $ N, S, C* `/ v7 P7 ^
- .判断开始 (寻找文本 (附加协议头, #换行符, , 假) = -1)
- U$ B( f) i$ R2 h* h# J! Y9 w - 局_WinHttp.方法 (“SetRequestHeader”, 内部_协议头取名 (附加协议头), 内部_协议头取值 (附加协议头))% W8 I# J+ q% h* t i! ]# F
- .默认" c- V8 S& H; |
- 局_发送协议头 = 分割文本 (附加协议头, #换行符, )
% _) Y2 n* o3 S2 M! C% k - .计次循环首 (取数组成员数 (局_发送协议头), 局_计次)
, L# M; P7 f+ m. {4 z/ y/ E - .如果真 (局_发送协议头 [局_计次] ≠ “”)
5 l, y* r- s7 x3 k8 V - .如果真 (内部_协议头取名 (局_发送协议头 [局_计次]) = “Connection”)
2 G& n1 v! N$ `! V - .如果真 (内部_协议头取值 (局_发送协议头 [局_计次]) = “keep-alive”): e" U1 B. Y$ Z& F
- 到循环尾 () ' 筛选排除此参数 避免协议头有此参数 HTTP对象又自动添加此参数5 ~5 Z$ {8 y/ z' |
- .如果真结束
( r3 P; E! ?* q! f' R* |* ]6 O - z, U+ @1 I. s$ S/ ^
- .如果真结束
0 E$ h* d$ g# s: \8 D) C9 F" o* u
4 H' S- V+ a. i& E0 {# P- 局_WinHttp.方法 (“SetRequestHeader”, 内部_协议头取名 (局_发送协议头 [局_计次]), 内部_协议头取值 (局_发送协议头 [局_计次]))
, w$ c S4 S* S - .如果真结束
# e& z$ I( @* `3 O$ q" L. O+ p& Y - 1 ~1 {4 p2 `+ @1 K$ [
- .计次循环尾 ()
1 l4 g2 B3 H8 s* l+ C2 k8 e0 I0 n1 f - .判断结束0 Q9 i6 J- V! f, X/ d6 ]0 {
- 8 U) d$ w$ J" f$ V/ Q
- .判断开始 (字节集提交 = { })0 _8 P3 H5 V% f/ n9 Z* Y
- 局_WinHttp.方法 (“Send”, 提交信息)
/ S6 J6 e/ a7 b6 W$ s h, l - .默认
: [% s0 I( P& J& S) T% k. W( C - 局_变体提交.赋值 (字节集提交, )1 [& z* T* b0 q8 n3 `7 D2 x$ U
- 局_WinHttp.方法 (“Send”, 局_变体提交)
6 P+ w% K1 _9 h j W - .判断结束
" |+ m3 G# M- Z - 局_网页数据 = 局_WinHttp.读属性 (“ResponseBody”, ).取字节集 ()
/ L8 | Y* n! I - 返回协议头 = 局_WinHttp.读文本属性 (“GetAllResponseHeaders”, )
" S7 ]0 l; L5 ]6 L4 ^: f4 P - 返回状态代码 = 局_WinHttp.读数值属性 (“Status”, )% o* Y' T1 A& p3 w, G0 G
- 局_WinHttp.读文本属性 (“StatusText”, )
, F+ B( C6 H( G# l8 b: M/ [0 F - 局_返回协议头 = 分割文本 (返回协议头, #换行符, ). ]7 \/ f) V' z8 X& f; R, {
- 返回Cookies = “”
W" r9 B$ |, l. R; N& O5 v - .计次循环首 (取数组成员数 (局_返回协议头), 局_计次) a: x Y9 j( Y' P- s8 _# Z! G1 O
- .如果真 (文本_取左边 (局_返回协议头 [局_计次], “: ”) = “Set-Cookie”)
5 d3 |9 ?" v0 }# \+ O - .判断开始 (寻找文本 (局_返回协议头 [局_计次], “;”, , 假) ≠ -1)
, A: i% D0 A' P; L* D o - 返回Cookies = 返回Cookies + 删首尾空 (文本_取出中间文本 (局_返回协议头 [局_计次], “Set-Cookie:”, “;”)) + “; ”
- g* ^! O7 j$ U9 m l, _ - .默认' H) d" x, \* U# `9 U; p! C
- 返回Cookies = 返回Cookies + 删首尾空 (子文本替换 (局_返回协议头 [局_计次], “Set-Cookie:”, , , , 假)) + “; ”* N+ A2 W/ l# W: \5 j7 {/ W
- .判断结束5 u0 ^2 Y* K" A) o
8 }0 T8 n" n; B2 f% s( }- .如果真结束
* N' x4 P `, z8 I: d
5 }; @$ a4 U# T% ]; I1 K' E A# ?- .计次循环尾 ()
: y! J$ ~% i3 T0 C7 X) h - .如果真 (取文本左边 (返回Cookies, 2) = “; ”)
- v) _, ]! O, {1 E) y5 D: i: }# G - 返回Cookies = 取文本左边 (返回Cookies, 取文本长度 (返回Cookies) - 2)* p; V: k5 T; K4 w9 ]
- .如果真结束
+ W8 F2 _) f3 ~4 m& B) n9 q& E
1 ?: R( u; L( _& v- # g+ V' x$ ~, T8 r$ N+ d1 m& O& ^
- .如果真 (是否自动合并更新Cookie)- H X, f- @) k5 ?" z1 E7 f
- .如果真 (取反 (是否为空 (提交Cookies)))
4 o: r8 P- _# k) d- a - 返回Cookies = 网页_Cookie合并更新 (提交Cookies, 返回Cookies)8 W3 b; i: D' s. O
- .如果真结束# R2 y& L& u% E
- 0 K: R6 r+ ~( p9 W% D* |
- .如果真结束
- ?, L; _% ]4 q% x A - 局_WinHttp.清除 ()
& ^0 t8 ~: M8 [8 L' j- P - 线程_取消COM库 (), `6 ^3 Z3 {$ P, I5 G# ]
- 返回 (局_网页数据)+ l( j$ [5 w, f( B4 g" l
- % X0 W% Z1 r. b, a& f
- .子程序 内部_协议头取名, 文本型
1 d3 ]/ B7 p7 z; Y) X! V9 x# c5 k - .参数 协议头, 文本型
3 l/ t2 j& f7 [" P3 ?+ t* }6 J5 j - .局部变量 位置, 整数型0 ^+ r! m$ K. x4 O, ^
- .局部变量 结果, 文本型
& O) R/ t9 ~, _, \0 T) p+ \
: n& G, o0 q* n9 K+ `0 w9 C3 o- 位置 = 寻找文本 (协议头, “:”, , 假)
# P/ s6 U$ Z4 }' P1 V1 Y - .如果真 (位置 ≠ -1)
/ ]# q4 v9 V1 k! T% M6 x: [ - 结果 = 取文本左边 (协议头, 位置 - 1)
. a: I9 M, g2 x6 e5 J' D - .如果真结束
! ]0 r( `( L% G8 O1 L - 返回 (删首尾空 (结果))+ _: @0 I) R+ Y
3 b1 k! l0 s2 {( G/ u) J5 k- .子程序 内部_协议头取值, 文本型3 w) K$ N1 V0 G/ E" T
- .参数 协议头, 文本型+ M7 G7 I5 p" B a" ^* ~, B& l
- .局部变量 位置, 整数型
% k! \8 x3 e+ ] - .局部变量 结果, 文本型
+ }7 A; t' ~# W3 w
1 Z: \0 M7 X/ b4 m0 \6 f+ U- 位置 = 寻找文本 (协议头, “:”, , 假)
4 _2 t1 S* Z7 E2 X2 K9 Q" W+ _ - .如果真 (位置 ≠ -1)2 c% R- Y: k4 ^/ T5 R- v1 q
- 结果 = 取文本右边 (协议头, 取文本长度 (协议头) - 位置)
' D# O2 V7 q5 Q - .如果真结束
- d- V7 Y; {8 O - 返回 (删首尾空 (结果))
复制代码 ' r& X. [) K. n2 L
% ]' G! N: l) L% U0 S' z/ P
源码复制到易语言教程:
' F) t, G3 d3 m8 P3 l* g: ~" ^) m9 _3 Y2 _
首先复制上面的命令源码.到剪辑板.然后来到易语言的程序集界面如下图所示; W& F. R6 Y; \2 Z, S
- S; P# z( ^ g) ^; D$ y
/ z$ s) T. t5 U* m8 ~( U然后拖动鼠标把程序集名-窗口程序集.选中.然后粘贴上面的代码
& V1 y$ }# ~1 i5 }
j0 u4 l$ X8 |0 z5 f即可插入易语言命令代码哦9 @2 m8 ]& U4 ] x! e7 b
( U6 d( X1 ]' ]! g* H" J6 {
DLL源码复制到易语言教程:
; u5 l' ` Y4 q5 G) `" V O
+ y s) ~1 B5 ] z9 ~
* \; A) u. `* n" Y8 m3 ]1 c$ o
) P+ g' B* [3 {- W- m
' [0 Y7 e* f1 a7 [ |
|