????1. ????post????????web_submit_data
?????磺
1 web_submit_data("create"??//??????
2           "Action=http://bizhi.sogou.com/diy/"?? //????????
3           "Method=POST"?? //?????????post
4           "RecContentType=application/json"?? //???????json
5           "Referer=http://bizhi.sogou.com/diy?wp_id=8743"??
6           "Snapshot=t4.inf"??
7           "Mode=HTML"??
8           ITEMDATA?? //?????post?????????
9           "Name=img"?? "Value=http://dl.bizhi.sogou.com/images/2012/05/3/8743.jpg"?? ENDITEM?? //?????name??value????????
10           "Name=left"?? "Value=60"?? ENDITEM?? //??????????name??value????????
11           "Name=top"?? "Value=30"?? ENDITEM??
12           "Name=width"?? "Value=720"?? ENDITEM??
13           "Name=height"?? "Value=450"?? ENDITEM??
14           "Name=model"?? "Value=5/5s"?? ENDITEM??
15           "Name=x"?? "Value=1"?? ENDITEM??
16           "Name=y"?? "Value=1"?? ENDITEM??
17           "Name=ofc"?? "Value=1"?? ENDITEM??
18           "Name=wp_id"?? "Value=8743"?? ENDITEM??
19           "Name=mat"?? "Value=ms"?? ENDITEM??
20           "Name=curMode"?? "Value=normal"?? ENDITEM??
21           LAST);
????2. ???????????????????????仯???????????????е????????????????????????????????????????????е?????????????????????????????????н???
?????磺
1 web_submit_data("create"??
2           "Action=http://bizhi.sogou.com/diy/"??
3           "Method=POST"??
4           "RecContentType=application/json"??
5           "Referer=http://bizhi.sogou.com/diy?wp_id=8743"??
6           "Snapshot=t4.inf"??
7           "Mode=HTML"??
8           ITEMDATA??
9           "Name=img"?? "Value=http://dl.bizhi.sogou.com/images/2012/05/3/8743.jpg"?? ENDITEM??
10           "Name=left"?? "Value=60"?? ENDITEM??
11           "Name=top"?? "Value=30"?? ENDITEM??
12           "Name=width"?? "Value=720"?? ENDITEM??
13           "Name=height"?? "Value=450"?? ENDITEM??
14           "Name=model"?? "Value=5/5s"?? ENDITEM??
15           "Name=x"?? "Value=1"?? ENDITEM??
16           "Name=y"?? "Value=1"?? ENDITEM??
17           "Name=ofc"?? "Value=1"?? ENDITEM??
18           "Name=wp_id"?? "Value=8743"?? ENDITEM??
19           "Name=mat"?? "Value=ms"?? ENDITEM??
20           "Name=curMode"?? "Value=normal"?? ENDITEM??
21           LAST);//????1
22
23      lr_set_debug_message( 16 | 2??0 );
24      lr_save_string((char*)strtok(lr_eval_string("{Output}")??"??")??"temp");//???????1?????????
25      //lr_output_message("bian:%s"??lr_eval_string("{temp}"));
26      lr_save_string((char*)strtok(NULL??"??")??"diyid_temp");//????????????
27      //lr_output_message("bian2:%s"??lr_eval_string("{diyid_temp}"));
28      lr_save_string((char*)strtok(lr_eval_string("{diyid_temp}")??":")??"temp");//????????????
29      //lr_output_message("bian:%s"??lr_eval_string("{temp}"));
30      lr_save_string((char*)strtok(NULL??":")??"diyid_temp");//????????????
31      //lr_output_message("bian2:%s"??lr_eval_string("{diyid_temp}"));
32      diyid_str=(char*)strtok(lr_eval_string("{diyid_temp}")??"}");
33      lr_save_string((char*)strtok(lr_eval_string("{diyid_temp}")??"}")??"diyid");//????????????
34      //lr_output_message("bian:%s"??lr_eval_string("{diyid}"));
35
36      strcat(test?? diyid_str);
37      //lr_output_message("%s"??test);
38      lr_save_string(CMd5(test)??"md5");//????md5
39      //lr_output_message("bianmd5:%s"??lr_eval_string("{md5}"));
40
41
42      web_submit_data("postname"??
43                 "Action=http://bizhi.sogou.com/orderpay/"??
44                 "Method=POST"??
45                 "RecContentType=textml"??
46                 "Mode=HTML"??
47                 ITEMDATA??
48                 "Name=goods_action"??"Value=goods_detail"??ENDITEM??
49                     "Name=goods_addr"??"Value=656"??ENDITEM??
50                     "Name=md5str"??"Value={md5}"??ENDITEM??//???????????????
51                     "Name=diy_id"??"Value={diyid}"??ENDITEM??//???????????????
52                     "Name=goods_info"??"Value=448_1"??ENDITEM??
53                     "Name=from"??"Value=diy"??ENDITEM??
54                     "Name=Accept"??"Value=text/plain"??ENDITEM??
55                 LAST);
????3.  ?????????md5????????md5??????????????????gloab.h??include md5.h
1 #ifndef MD5_H
2 #define MD5_H
3 #ifdef __alpha
4 typedef unsigned int uint32;
5 #else
6 typedef unsigned long uint32;
7 #endif
8 struct MD5Context {
9         uint32 buf[4];
10         uint32 bits[2];
11         unsigned char in[64];
12 };
13 extern void MD5Init();
14 extern void MD5Update();
15 extern void MD5Final();
16 extern void MD5Transform();
17 typedef struct MD5Context MD5_CTX;
18 #endif
19 #ifdef sgi
20 #define HIGHFIRST
21 #endif
22 #ifdef sun
23 #define HIGHFIRST
24 #endif
25 #ifndef HIGHFIRST
26 #define byteReverse(buf?? len)    /* Nothing */
27 #else
28 void byteReverse(buf?? longs)unsigned char *buf; unsigned longs;
29 {
30     uint32 t;
31     do {
32     t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |((unsigned) buf[1] << 8 | buf[0]);
33     *(uint32 *) buf = t;
34     buf += 4;
35     } while (--longs);
36 }
37 #endif
38 void MD5Init(ctx)struct MD5Context *ctx;
39 {
40     ctx->buf[0] = 0x67452301;
41     ctx->buf[1] = 0xefcdab89;
42     ctx->buf[2] = 0x98badcfe;
43     ctx->buf[3] = 0x10325476;
44     ctx->bits[0] = 0;
45     ctx->bits[1] = 0;
46 }
47 void MD5Update(ctx?? buf?? len) struct MD5Context *ctx; unsigned char *buf; unsigned len;
48 {
49     uint32 t;
50     t = ctx->bits[0];
51     if ((ctx->bits[0] = t + ((uint32) len << 3)) < t)
52     ctx->bits[1]++;
53     ctx->bits[1] += len >> 29;
54     t = (t >> 3) & 0x3f;
55     if (t) {
56     unsigned char *p = (unsigned char *) ctx->in + t;
57     t = 64 - t;
58     if (len < t) {
59         memcpy(p?? buf?? len);
60         return;
61     }
62     memcpy(p?? buf?? t);
63     byteReverse(ctx->in?? 16);
64     MD5Transform(ctx->buf?? (uint32 *) ctx->in);
65     buf += t;
66     len -= t;
67     }
68     while (len >= 64) {
69     memcpy(ctx->in?? buf?? 64);
70     byteReverse(ctx->in?? 16);
71     MD5Transform(ctx->buf?? (uint32 *) ctx->in);
72     buf += 64;
73     len -= 64;
74     }
75     memcpy(ctx->in?? buf?? len);
76 }
77 void MD5Final(digest?? ctx)
78     unsigned char digest[16]; struct MD5Context *ctx;
79 {
80     unsigned count;
81     unsigned char *p;
82     count = (ctx->bits[0] >> 3) & 0x3F;
83     p = ctx->in + count;
84     *p++ = 0x80;
85     count = 64 - 1 - count;
86     if (count < 8) {
87     memset(p?? 0?? count);
88     byteReverse(ctx->in?? 16);
89     MD5Transform(ctx->buf?? (uint32 *) ctx->in);
90     memset(ctx->in?? 0?? 56);
91     } else {
92     memset(p?? 0?? count - 8);
93     }
94     byteReverse(ctx->in?? 14);
95     ((uint32 *) ctx->in)[14] = ctx->bits[0];
96     ((uint32 *) ctx->in)[15] = ctx->bits[1];
97     MD5Transform(ctx->buf?? (uint32 *) ctx->in);
98     byteReverse((unsigned char *) ctx->buf?? 4);
99     memcpy(digest?? ctx->buf?? 16);
100     memset(ctx?? 0?? sizeof(ctx));
101 }
102 #define F1(x?? y?? z) (z ^ (x & (y ^ z)))
103 #define F2(x?? y?? z) F1(z?? x?? y)
104 #define F3(x?? y?? z) (x ^ y ^ z)
105 #define F4(x?? y?? z) (y ^ (x | ~z))
106 #define MD5STEP(f?? w?? x?? y?? z?? data?? s) ( w += f(x?? y?? z) + data??  w = w<<s | w>>(32-s)??  w += x )
107 void MD5Transform(buf?? in)
108     uint32 buf[4]; uint32 in[16];