cgi-bin/ 封包怎么做

微信已经成为大家生活当中必不可少的社交软件,大家在使用微信聊天的时候会不会有这种感受,相对于文字来说表情更能生动地表达出情绪,然而在众多表情包中没有自己想要的现在微信今天小编给大家带来的例子是小编亲身投稿并已经上架的微信表情包“二哈大坤儿”1,我们需要详细了解微信表情上传流程工具: 笔纸用来画手稿 电脑 Flash 链接: 密码:dgo9
ps 链接: 密码:730f过程:
首先我们需要构思好我们需要做的表情的形象,类型。为了会有更多朋友喜欢使用我们的表情,我们可以先调查一些热门的聊天用语,热门聊天用语会给我们的表情带来更多的使用者。
1,我们需要详细了解微信表情上传流程
注册作家账号,需要清晰的身份证正反面图片或扫描图,而且内存不大于2M接下来我们需要了解详细的表情制作要求与规范 详细规范请去微信表情开放平台详细阅读,2,接下来开始制作我们的表情,小编以自己的表情为例,这是二哈大坤儿的形象 表情的形象定好以后开始绘制他的动作,这时我们需要打开Flash首先注意根据微信开放平台规范,我们需要设定一个240*240像素的舞台,如下图
接下来开始根据你想要的动作绘制动作所需要的关键帧,绘制完成后导出每一个关键帧的图片PNG格式,只保留关键帧,也就是小黑点的帧,其余的删除,否则会导出很多同样的图。选择文件—导出--导出影片,选择PNG格式3,接下来将所有的关键帧导入PS 加2个像素的描边 ,并绘制时间轴:窗口—时间轴—创建帧动画重复次数调为永久,然后按住ctril+alt+shift+s保存gif动画格式。注意保存时要注意图片尺寸,不要超过规范尺寸。
以此类推,制作16/24个动态或非动态表情 。4,整理并上传表情: 根据表情制作规范准备需要的材料。,这里要注意表情的关键词一定要负荷连天场景5,上传表情 :点击提交表情专辑开始上传你的表情 ,这里小编的表情已经上架
正常审核需要1周到20天左右 7,最后通过审核后我们需要预约上架,最早可以第二天上架,等表情上架以后,我们就可以在微信-我-表情-搜索中找到自己的表情啦 这是小编的表情,欢迎大家下载使用。之后我们的下载与发送数据会在第二天的下午可以查到,如下最后就是等待着广大网友的打赏微信表情交流QQ群
可以记录推荐数据哦!
收录收藏夹
如何做微信表情包,提交审核需要注意的问题。
添加到收藏
没有新消息
创建收藏夹
公开(受欢迎的收藏夹将有可能选入站酷精选)
私密(仅自己可见)
下次自动登录
没收到验证码?
下次自动登录
第三方帐号登录
微信二维码登录挖掘微信Web版通信的全过程 --教程
挖掘微信Web版通信的全过程 --教程
使用微信扫一扫查看全文干货
昨天是周末,在家闲得无聊,于是去逛了一圈,偶然发现有人发了一帖叫《微信 for Mac》,
这勾起了我的好奇心,国内做Mac开发的人确实很少,对于那些能够独自开发一些Mac第三方工具的开发者我都表示很敬畏,于是点进去看了一个究竟,如果你
们好奇也可以点进去看个明白,我最终得出的结论就是:坑爹呢这是!直接用一个WebView去加载了这个网页也敢自称是微信For
Mac?对于这种欺骗用户的行为我十分不屑,同时也让我在思考在微信不提供API的环境下开发一款原生的微信Mac版本是否可行,最有可能的就是去分析微
信Web版本的通信过程,然后在程序中模拟这个流程,在我苦苦研究了一个下午之后,终于摸透了这个过程,并用程序实现了大部分功能,下面就详细解说一下微
信Web版的流程:
1.微信服务器返回一个会话ID
微信Web版本不使用用户名和密码登录,而是采用二维码登录,所以服务器需要首先分配一个唯一的会话ID,用来标识当前的一次登录,通过请求地址:
https://login.
/jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F
%%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&
lang=zh_CN&_=2(其中2这个值是当前距离林威治标准时间的毫秒)
服务器会返回如下的字符串:
window.QRLogin.code = 200; window.QRLogin.uuid = “DeA6idundY9VKn”;
而这个DeA6idundY9VKn字符串就是微信服务器返回给我们的ID。
2.通过会话ID获得二维码
既然微信Web版本是通过二维码进行登录,如何获得这个随机的二维码呢?答案就是利用刚才获得的ID去请求服务器生成的二维码,通过上面的ID我们组合得到以下的URL地址:
https://login./qrcode/DeA6idundY9VKn?t=webwx
该请求返回的便是我们需要的二维码,此时需要用户在微信的手机版本中扫描这个二维码(我就搞不明白微信官方是如何想的,登录Web版本竟然还需要手机微信去配合登录,难道没有考虑我被迫选择Web微信就是因为手机不在身边这样的情形么?)
3.轮询手机端是否已经扫描二维码并确认在Web端登录
当获得二维码之后,就需要用户去手机端去扫描二维码,并获得用户的授权,此时我们并不知道用户何时完成这个操作,所以我们只有轮询,而轮询的地址就是:
https://login./cgi-bin/mmwebwx-bin/login?uuid=DeA6idundY9VKn&tip=1&_=4(注意UUID和最后时间这两个参数)
如果服务器返回:
window.code=201;
则说明此时用户在手机端已经完成扫描,但还没有点击确认;
如果服务器返回:
window.redirect_uri=一个URL地址
则说明此时用户已经在手机端完成了授权过程,保存下这个URL地址下一步骤中使用。
4.访问登录地址,获得uin和sid
通过访问上一步骤中获得的URL地址,可以在服务器返回的Cookies中获得到wxuin和wxsid这两个值,这两值在后续的通信过程中都要使用到这两个值,并且Cookies中也需要包括这两项。
5.初使化微信信息
前面的步骤算是完成了这个复杂的登录过程,如果我们需要使用微信就需要获得当前用户的信息、好友列表等,还有一个关键的就是同步信息(后续与服务器轮询中需要使用同步信息),通过访问以下的链接:
/cgi-bin/mmwebwx-bin/webwxinit?r=4(r依然是时间)
访问该链接需要使用POST,并且在Body中带上以下的JSON信息:{"BaseRequest":{"Uin":"","Sid":"QfLp+Z+FePzvOFoG","Skey":"","DeviceID":"e"}}
这个JSON串中Uin和Sid分别是上面步骤中获得的那两个Cookie值,DeviceID是一个本地生成的随机字符串(分析了官方的总是e+一串数字,所以我们也保持这样的格式)。
服务器就会返回一个很长的JSON串,这其中包括:BaseResponse中的值用来表示请求状态码,ContactList主要用来表示联系人(此列表不全,只包括了类似通讯录助手、文件助手、微信团队和一些公众帐号等,后面会通过另一接口去获得更全面的信息),SyncKey是用户与服务器同步的信息,User就是当前登录用户自己的信息。
6.获得所有的好友列表
在上一步骤中已经获得了部分好友和公众帐号,如果需要获得完整的好友信息,就需要访问以下的链接:
/cgi-bin/mmwebwx-bin/webwxgetcontact?r=6(r依然是时间)
访问该链接同样需要POST方式,但Body为空JSON:{},服务器对身份的判定是通过Cookies,所以需要保持之前访问的Cookies不被修改(在Objective-C中会自动保存相关的Cookies,无需程序特殊处理),在返回的JSON串中,MemberList中就包含了所有的好友信息。
7.保持与服务器的信息同步
与服务器保持同步需要在客户端做轮询,该轮询的URL如下:
https://webpush./cgi-bin/mmwebwx-bin/synccheck?callback=jQuery&r=6&sid=QfLp+Z+FePzvOFoG&uin=&deviceid=e&synckey=(见以下说明)&_=6
其中的参数r和_都是time,sid,uin,deviceid与上面步骤的值相对应,此处的synkey是上步步骤获得的同步键值,但需要按一定的规则组合成以下的字符串:
1___0_5643635
就是将键和值用_隔开,不同的键值对用|隔开,但记得|需要URL编码成%7C,通过访问上面的地址,会返回如下的字符串:
window.synccheck={retcode:”0”,selector:”0”}
如果retcode中的值不为0,则说明与服务器的通信有问题了,但具体问题我就无法预测了,selector中的值表示客户端需要作出的处理,目前已经知道当为6的时候表示有消息来了,就需要去访问另一个接口获得新的消息。
8.获得别人发来的消息
当一个步骤中知道有新消息时,就需要去获取消息内容,通过访问以下的链接:
/cgi-bin/mmwebwx-bin/webwxsync?sid=QfLp+Z+FePzvOFoG&r=6
上面链接中的参数sid对应上面步骤中的值,r为时间,访问链接需要使用POST方式,Body中包括JSON串,该JSON串格式如下:{"BaseRequest" : {"Uin":,"Sid":"QfLp+Z+FePzvOFoG"},"SyncKey" : {"Count":4,"List":[{"Key":1,"Val":},{"Key":2,"Val":},{"Key":3,"Val":},{"Key":1000,"Val":}]},"rr" :6};
以下的信息中BaseRequest中包括的Uin与Sid与上面步骤中的值对应,SyncKey也是上面步骤中获得的同步键值对,rr为时间,访问成功之后服务器会返回一个JSON串,其中AddMsgList中是一个数组,包含了所有新消息。
9.向用户发送消息
用户主动发送消息,通过以下的URL地址:/cgi-bin/mmwebwx-bin/webwxsendmsg?sid=QfLp+Z+FePzvOFoG&r=6上面的sid和r参数不再解释了,访问该URL采用POST方式,在Body中的JSON串形如以下的格式:{
"BaseRequest":{
"DeviceID" : "e",
"Sid" : "S8wNi91Zry3024eg",
"Skey" : "F820928BBA5D8ECAE8A915EF4332",
"Uin" : ""
"ClientMsgId" : 8,
"Content" : "hello",
"FromUserName" : "wxid_2rrz8g8ezuox22",
"LocalID" : 8,
"ToUserName" : "wxid_j4nu420ojhsr21",
"Type" : 1
其中BaseRequest都是授权相关的值,与上面的步骤中的值对应,Msg是对消息的描述,包括了发送人与接收人,消息内容,消息的类型(1为文本),ClientMsgId和LocalID由本地生成。rr可用当前的时间。在返回JSON结果中BaseResponse描述了发送情况,Ret为0表示发送成功。网页微信客户端封包大全
/Program/70.html
网页版微信功能只有一个:聊天。根据 Copyright (C) 狼夜我这两天研究发现,
网页版微信可以脱离手机微信,也就是手机微信退出、手机关机,都不影响网页端微信的
在线以及聊天,关于如何使用加好友、朋友圈、摇一摇功能,我有个思路就是抓手机封包
@Icenowy 在微博上有抓手机包的计划 然后使用,不过这个想法因为时间问题没有去实践,
希望大家能研究出来的话在本页面留一个链接,十分感谢!
以下是Post/Get的封包大全,如果能看懂这个,基本上你就可以做出来了。
https://login./jslogin?appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_=0
获取二维码
https://login./qrcode/{$uuid}?t=webwx
等待扫描Get
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=1&_=9
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=1&_=9
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=1&_=9
扫描了(但还没有确认)-返回
window.code=201;
未扫描返回空
扫描之后-第一次请求成功
/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=3
{"BaseRequest":{"Uin":0,"Sid":0},"Count":1,"List":[{"Type":1,"Text":"/cgi-bin/mmwebwx-bin/login,
First Request Success, uuid: 454d958c7f6243"}]}
扫描之后-第二次请求开始
/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=3
{"BaseRequest":{"Uin":0,"Sid":0},"Count":1,"List":[{"Type":1,"Text":"/cgi-bin/mmwebwx-bin/login,
Second Request Start, uuid: 454d958c7f6243"}]}
等待确认Get
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=3
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=3
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=3
https://login./cgi-bin/mmwebwx-bin/login?uuid=454d958c7f6243&tip=0&_=3
手机确认-返回
window.code=200;
window.redirect_uri="/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=03f725ac69b6ffbd771b&lang=zh_CN&scan=";
未确认返回空
get 登陆获取Cookie
/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=03f725ac69b6ffbd771b&lang=zh_CN&scan=&fun=new
/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=b03aa3dfbe8d4130981ddfb&lang=zh_CN&scan=&fun=old
设置Cookie 返回一个状态
post 第二次请求成功
/cgi-bin/mmwebwx-bin/webwxstatreport?type=1&r=8
{"BaseRequest":{"Uin":0,"Sid":0},"Count":1,"List":[{"Type":1,"Text":"/cgi-bin/mmwebwx-bin/login,
Second Request Success, uuid: 454d958c7f6243, time: 190765ms"}]}
post 表示登陆成功-返回重要的数据SKey
/cgi-bin/mmwebwx-bin/webwxinit?r=4
DeviceID 是e + 随机数
http://www.tanhao.me/talk/1466.html
{"BaseRequest":{"Uin":"","Sid":"e75TXbI7TnKUevmI","Skey":"","DeviceID":"e114"}}
post 应该是向服务器端提供的一次验证-返回SyncKey
/blog/2055502
/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=4
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":4,"List":[{"Key":1,"Val":},{"Key":2,"Val":},{"Key":3,"Val":},{"Key":1000,"Val":}]},"rr":4}
post 可能是获取当前会话列表
/cgi-bin/mmwebwx-bin/webwxgetcontact?r=4
post 可能是在手机上显示的提示信息
/cgi-bin/mmwebwx-bin/webwxstatusnotify?r=0
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI","Skey":"","DeviceID":"e114"},"Code":3,"FromUserName":"langyeie","ToUserName":"langyeie","ClientMsgId":"0"}
get 获取头像图片
/cgi-bin/mmwebwx-bin/webwxgeticon?seq=&username=langyeie
get 同理可以获取其他微信好友的头像
/cgi-bin/mmwebwx-bin/webwxgeticon?seq=&username=wxid_xx3mtgeux5511
post 更改什么状态?标记已读?
/cgi-bin/mmwebwx-bin/webwxbatchgetcontact?type=ex&r=2
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI","Skey":"","DeviceID":"e114"},"Count":10,"List":[{"UserName":"z_zer0v","ChatRoomId":},{"UserName":"huobao002","ChatRoomId":},{"UserName":"wxid_jo4qxoep4go411","ChatRoomId":},{"UserName":"jijunlong123456","ChatRoomId":},{"UserName":"wxid_toyaj4qwrynb21","ChatRoomId":},{"UserName":"wxid_2","ChatRoomId":},{"UserName":"wxid_rankrke1kkyd12","ChatRoomId":},{"UserName":"wxid_chcblpm846k022","ChatRoomId":},{"UserName":"tw","ChatRoomId":},{"UserName":"wxid_2","ChatRoomId":}]}
聊天室头像
/cgi-bin/mmwebwx-bin/webwxgetheadimg?seq=&username=chatroom@
get 监听会话
https://webpush./cgi-bin/mmwebwx-bin/synccheck?callback=jQuery&r=7&sid=e75TXbI7TnKUevmI&uin=&deviceid=e114&synckey=1_C2_C3_C11_%7C977&_=7
https://webpush./cgi-bin/mmwebwx-bin/synccheck?callback=jQuery&r=2&sid=e75TXbI7TnKUevmI&uin=&deviceid=e114&synckey=1_C2_C3_C11_%7C977&_=8
https://webpush./cgi-bin/mmwebwx-bin/synccheck?callback=jQuery&r=5&sid=e75TXbI7TnKUevmI&uin=&deviceid=e114&synckey=1_C2_C3_C11_%7C977&_=0
https://webpush./cgi-bin/mmwebwx-bin/synccheck?callback=jQuery&r=5&sid=e75TXbI7TnKUevmI&uin=&deviceid=e114&synckey=1_C2_C3_C11_%7C977&_=5
正常返回结果
window.synccheck={retcode:"0",selector:"0"}
有消息返回结果
window.synccheck={retcode:"0",selector:"6"}
发送消息返回结果
window.synccheck={retcode:"0",selector:"2"}
朋友圈有动态
window.synccheck={retcode:"0",selector:"4"}
获取消息-post-设置Cookie
/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=2
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":},{"Key":2,"Val":},{"Key":3,"Val":},{"Key":201,"Val":},{"Key":1000,"Val":}]},"rr":2}
/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=0
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":},{"Key":2,"Val":},{"Key":3,"Val":},{"Key":201,"Val":},{"Key":1000,"Val":}]},"rr":0}
/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=0
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":},{"Key":2,"Val":},{"Key":3,"Val":},{"Key":201,"Val":},{"Key":1000,"Val":}]},"rr":0}
post 发送消息
/cgi-bin/mmwebwx-bin/webwxsendmsg?sid=e75TXbI7TnKUevmI&r=0
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI","Skey":"D6EBA5FA425CAE258F24E75CF51F2E1B4EEA9CC","DeviceID":"e114"},"Msg":{"FromUserName":"langyeie","ToUserName":"pp80000","Type":1,"Content":"55","ClientMsgId":0,"LocalID":0}}
/cgi-bin/mmwebwx-bin/webwxsync?sid=e75TXbI7TnKUevmI&r=0
{"BaseRequest":{"Uin":,"Sid":"e75TXbI7TnKUevmI"},"SyncKey":{"Count":5,"List":[{"Key":1,"Val":},{"Key":2,"Val":},{"Key":3,"Val":},{"Key":201,"Val":},{"Key":1000,"Val":}]},"rr":0}
get 有消息来,响铃
https://res./zh_CN/htmledition/swf/msg17ced3.mp3
获取消息中的图片
/cgi-bin/mmwebwx-bin/webwxgetmsgimg?type=slave&MsgID={MsgID值}&skey=%40{skey值}
/cgi-bin/mmwebwx-bin/webwxgetvideo?type=flv&msgid={MsgID值}&skey={SKey值}
/cgi-bin/mmwebwx-bin/webwxgetvideo?fun=download&msgid={MsgID值}&skey={SKey值}
webwxgetvoice请教这个封包如何提交(POST)|易语言俱乐部 - 易语言俱乐部 - Powered by phpwind
查看完整版本: [--
请教这个封包如何提交(POST)
以下是截取到的第一个包 请问用彗星HTTP模块或发送数据实现该如何找有用的数据。 通常是开头“GET”后面的一段,还有其他的吗? &
GET /login?u=&p=FA1BDEBE6A35FFADD20C141&verifycode=utpn&aid==http%3A%2F%2Fclan.%2Fcgi-bin%2Fcfclan%2Fclan_info.cgi%3Fclanid%3D76087&h=1&ptredirect=1&ptlang=0&from_ui=1&dumy=&fp=loginerror***** HTTP/1.1Accept: */*Referer: http://ui./cgi-bin/login?qlogin_jumpname=jump&qlogin_param=u1%3Dhttp%3A//clan./cgi-bin/cfclan/clan_info.cgi%3Fclanid%3D76087&f_url=loginerror*****&no_verifyimg=1&appid=&s_url=http%3A//clan./cgi-bin/cfclan/clan_info.cgi%3Fclanid%3D76087&Accept-Language: zh-cnUser-Agent: Mozilla/4.0 ( MSIE 7.0; Windows NT 5.1; Trident/4.0; QQPinyinSetup 620; QQPinyin 689; Mozilla/4.0 ( MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727)Accept-Encoding: gzip, deflateHost: Connection: Keep-AliveCookie: pgv_info=ssid=s&pgvReferrer=/qqhome_v2/parker/client/index. uin=; verifysession=e600af96c8e3ea386dfce3f08f38be9c7bb7cc2cfe55d9628; skey=@VhmTaQCSE; property20=3F1EBF53EB8A65A8E1AD691E1F0DE127EBA9E1C419C9B7E132AA90CE3D851; qqmail_sid=41a943d19fb83ad90c9078; qqmail_username=; qqmail_domain=http://m71.; qqmail_key=1_cb5fcf2b010b0eb08; pt2gguin=o; ptcz=1fde6bddfccb2f1cd986ba54c86b5a2e819f7f22b87; pvid=; flv=10.0; eqq_ui_mode= adid=; adSP=8gq9B0Hj3NQ15I7WFG1V+ROxLul/aBzLtrI9Y6XIups=___; adVer=2653; ac=1,006,002; r_cookie=2; o_cookie=; showModel= icache=EGBA@ECEM; gkey=V2zr3KK%2FVttLMpfcKGX2kinBiPAk9sMajtFqQFSCUfYmQWIVzNlpH1CU%2BisnN74F; suid=; pgv_pvid=; pgv_flv=10.0; pgv_r_cookie=; uin_cookie=; euin_cookie=D179A176B1B3BCF2FC07C836D0; zzpaneluin=&& & &&[此贴子已经被作者于 0:15:44编辑过]
在线等待,走过路过不要错过,答案就在被懒惰覆盖着的防线后面。
[BR]人之初性本善,纯属请教,别无他意。
[BR]帮人一难,造七级浮屠。
测试下回贴
[BR]HTTP读文件( /login?u=&p=FA1BDEBE6A35FFADD20C141&verifycode=utpn&aid==http%3A%2F%2Fclan.%2Fcgi-bin%2Fcfclan%2Fclan_info.cgi%3Fclanid%3D76087&h=1&ptredirect=1&ptlang=0&from_ui=1&dumy=&fp=loginerror*****)[BR]u='QQ号码[BR]p=FA1BDEBE6A35FFADD20C141'密码MD5(MD5_3(密码)+验证码)[BR]verifycode=utpn'验证码[BR]附上例子+模块:[BR]&[attachment=113961]
俺对你是相当无语
[BR]顶上去!!!!
查看完整版本: [--
Powered by
Gzip enabled登录手工客
没有帐号,从 > >布艺粽子包制作教程布艺粽子包制作教程主要材料:棉布布块22*12CM2棉布布条4*28CM1单胶棉20*10CM1拉链10CM1所需工具:手缝针剪刀布用划线笔珠针手缝线尺子熨斗制作步骤:第1步:准备制作所需的工具以及材料。第2步:将表布,里布,辅棉剪裁到需要尺寸。第3步:表布烫好辅棉后,表布里布面与面相对,拉链放在表布里布中间。珠针固定后,缝合第4步:另一端同样做。第5步:返回正面,裁剪好包边条。第6步:两边分别包边。第7步:完成。小贴士:欢迎大家关注手工客线上课堂,复制下方链接即可报名参加!每期内容不相同哦!/cgi-bin/courseDetail?course_id=5157材料包包含所用布料、拉链、单胶铺棉和实物纸型。(不包含针线等工具)分享到:大家参照《布艺粽子包制作教程》教程做的作品关于《布艺粽子包制作教程》教程的评论:猜你喜欢人气 1608人气 553人气 9532手工客版权声明
《布艺粽子包制作教程》教程创建于
版权归作者所有,没有作者本人的书面许可任何人不得转载或使用整体或任何部分的内容。
24小时更新•••••小编力荐•••••

我要回帖

更多关于 cgi bin 漏洞 的文章

 

随机推荐