欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
【 POST/GET教程】登錄QQ空間發(fā)表日志&POST上傳相冊圖片
作者: qqmmcc    時(shí)間: 2011-11-3 23:34
標題: 【 POST/GET教程】登錄QQ空間發(fā)表日志&POST上傳相冊圖片
本簡(jiǎn)易教程,不講解抓包知識及一些比較理論性的知識,不懂的請自行百度學(xué)習;
該教程主要講述AAuto的http庫的POST及GET操作方面涉及的函數用法,及分析過(guò)程,按步驟貼出相關(guān)代碼(不是完整程序代碼);目的讓你們在理解學(xué)習的知識基礎上,自己動(dòng)手寫(xiě)一個(gè)滿(mǎn)足自己需求的完整程序出來(lái)。而不是簡(jiǎn)單的COPY!

后臺提交需要分析數據及不斷調試,比較耗費時(shí)間及精力,一般建議還請采用模擬操作,方便快捷。

一. 基礎知識

1.1 編碼知識


  • URL 編碼
       在互聯(lián)網(wǎng)上傳送數據時(shí),只能采用ASCII字符集。但由于數據常常包含ASCII字符集以外的字符(如中文)
       所以我們必須對數據轉換為有效的ASCII字符格式,也就是URL編碼。

在快手里,轉換URL編碼的函數庫就是inet.url
inet.url.decode("需解碼的字符串") —— 調用unEscape函數
inet.url.encode("需編碼的字符串") —— 完全URL編碼,此函數將所有非字母非數字字符進(jìn)行URL編碼

示例:
import inet.url

var url = "https://svn.ecranesoft.com/svn/aauto/Tools/%e4%b8%80%e9%b9%a4%e8%ae%ba%e5%9d%9b%e8%be%85%e5%8a%a9%e5%b7%a5%e5%85%b7/"
var str = inet.url.decode(url)// 解碼

str=string.fromto(str)
// 加上這句把UTF8轉為ASCII碼就可正常顯示

io.open()
io.print(str)

//顯示 https://svn.ecranesoft.com/svn/aauto/Tools/一鶴論壇輔助工具/


  • 內碼轉換
       涉及的網(wǎng)頁(yè)編碼常用有:gb2312(936)、big5(950)、 utf-8(65001)   POST數據是以utf-8 形式
       936代表是簡(jiǎn)體中文gb2312 ,而950代表繁體中文,65001就是我們說(shuō)的 UTF-8編碼了.
       POST/GET操作時(shí),必須要了解網(wǎng)頁(yè)的編碼,根據實(shí)際需要進(jìn)行編碼轉換,否則你會(huì )看到亂碼的字符或提交不成功。

在快手里,默認的核心string庫就有轉換函數。
string.fromto(”需轉換的字符串“,需轉換的編碼,目標轉換編碼) —— 不填寫(xiě)編碼參數, 默認將utf-8轉為gb2312

//string.fromto 函數原型
functiong(s,cp=65001,tocp=0){
   
if(!s){return};
    s=string.toUnicode(s,cp);
    renurn s&string.fromUnicode(s,tocp);
}
str = string.fromto(str,fromcp=65001,tocp=0)

該函數首先將fromcp編碼的字符轉換為unicode編碼,再從unicode編碼轉換為tocp編碼。
在任何兩種codepage(包括UTF8)之間轉換編碼都應當先轉換為unicdoe編碼
順序為: codepage1-->unicode->codepage2

示例:
var str_utf8 = "E铏庡崱閫氬浘鍍?"//utf-8
var strTogb = string.fromto(str_utf8)//默認utf8轉換為gb2312

var str_gb = "E虎卡通圖?"//gb2312
var strToutf8 = string.fromto(str_gb,936,65001)//把gb2312轉換為utf-8

io.open();
//打開(kāi)控制臺
io.print(strTogb,strToutf8);


  • JSON轉換
       有些網(wǎng)站提交后,返回的內容是JSON編碼,此時(shí)會(huì )根據需要提取內容進(jìn)行下一步的操作。

在快手里,由web.json庫提供json字符串的解碼和編碼,所謂解碼就是把json字符串轉換成AAuto里的table,所以取值的話(huà)按table的方法即可;而編碼則是把AAuto里的table序列化成json字串。

web.json.parse(“json數據”) —— json字符串轉換為table
web.json.stringify(“table對象”) —— 轉換為json字符串
web.json.decodeString(“需解碼的json中文數據”) —— json中文數據轉換為中文字符串


示例:
       str  = /***
{"name":"\u6C5F\u82CF\u5357\u901A\u516C\u53F8","manager":"\u7A46\u5174\u4E1C","address":"\u5357\u901A\u5E02\u957F\u6C5F\u4E2D\u8DEF400\u53F7\u96448\u53F7","telnumber":"\u67E5\u8BE2\u7535\u8BDD\uFF1A0513-85893700\u8F6C2\r\n\u4E1A\u52A1\u7535\u8BDD\uFF1A0513-85893700\u8F6C1\r\n\u6295\u8BC9\u7535\u8BDD\uFF1A0513-85893710\u4F20\u771F\uFF1A0513-85893717\r\n\u5904\u7406\u4EF6\u7535\u8BDD\uFF1A0513-85893712\u300185893716\r\n\u6DD8\u5B9D\u7535\u8BDD\uFF1A0513-85893719 \r\n","surearea":"\u5168\u5883\u6D3E\u9001","noarea":""}
***/



import web.json
io.open()
io.print(web.json.decodeString(str))

1.2 HTTP 頭知識
POST/GET操作,需 對HTTP協(xié)議有一定了解, 詳細的知識可以百度學(xué)習,這里只是簡(jiǎn)單列舉一些相關(guān)的HTTP頭知識;
透過(guò)抓包,可以看到下面的數據:


  • 請求頭內容
       Accept:客戶(hù)機支持的數據類(lèi)型
       Accept-Charset: 客戶(hù)機采用的編碼
       Accept-Encoding: 客戶(hù)機支持的數據壓縮格式
       Accept-Language: 客戶(hù)機的語(yǔ)言環(huán)境
       Host: 訪(fǎng)問(wèn)的主機名      
       Referer: 請求來(lái)自于哪個(gè)頁(yè)面
       User-Agent: 瀏覽器相關(guān)信息
       Cookie:瀏覽器暫存服務(wù)器發(fā)送的信息
       Connection: 請求完后關(guān)閉或保持連接
       Date: 請求網(wǎng)站的時(shí)間



  • 響應頭:
      Location: 控制瀏覽器顯示哪個(gè)頁(yè)面(通常是302跳轉)
      Content-Encoding: 服務(wù)器發(fā)送的壓縮編碼方式
      Content-Length:服務(wù)器發(fā)送顯示的字節碼長(cháng)度
      Content-Language: 服務(wù)器發(fā)送內容的語(yǔ)言和國家名
      Content-Type: 服務(wù)器發(fā)送內容的類(lèi)型和編碼類(lèi)型      
      Content-Disposition: 服務(wù)器控制瀏覽器發(fā)下載方式打開(kāi)文件      
      Set-Cookie:服務(wù)器發(fā)送Cookie相關(guān)的信息
      Date: 響應網(wǎng)站的時(shí)間



  • HTTP常見(jiàn)狀態(tài)代碼
       200 (OK): 找到了該資源,并且一切正常。
       302(Found): 重定向,發(fā)現新的連接請求信息
       304 (NOT MODIFIED): 該資源在上次請求之后沒(méi)有任何修改。這通常用于瀏覽器的緩存機制。
       401 (UNAUTHORIZED): 客戶(hù)端無(wú)權訪(fǎng)問(wèn)該資源。這通常會(huì )使得瀏覽器要求用戶(hù)輸入用戶(hù)名和密碼,以登錄到服務(wù)器。
       403 (FORBIDDEN): 客戶(hù)端未能獲得授權。這通常是在401之后輸入了不正確的用戶(hù)名或密碼。
       404 (NOT FOUND): 在指定的位置不存在所申請的資源。



作者: qqmmcc    時(shí)間: 2011-11-3 23:35
本帖最后由 qqmmcc 于 2011-11-4 12:37 編輯

二. 登錄QQ空間(GET)

2.1 分析
透過(guò)抓包分析可以發(fā)現,登錄QQ是采用GET方式,而且分為兩步:
第一步:輸入QQ號獲取驗證碼
  1. http://ptlogin2.qq.com/check?uin=QQ號&appid=15000101&ptlang=2052&r=0.8782269803101405
復制代碼

第一步 GET 提交后,服務(wù)器會(huì )有兩種情況返回

ptui_checkVC('0','!5F8'); // 此信息不需要手動(dòng)輸入驗證碼

//此信息需要再次提交獲取圖片驗證碼手動(dòng)輸入
ptui_checkVC('1','6c052b276914a067a775de1cde3d4f995ecce1a2c0258f88');
“6c052b276914a067a775de1cde3d4f995ecce1a2c0258f88” 需要此key提交獲取驗證碼,以保證驗證碼不失效

根據此特點(diǎn)編寫(xiě)獲取驗證碼函數
verifycode = function(){
   
var url = "http://ptlogin2.qq.com/check?
uin="
+qq+"&appid=15000101&ptlang=2052&r="+math.random()
   
var refter = "http://qzone.qq.com/"
   
var temp = http.get(url,,refter)
    wb.write(temp)
   
if(temp){temp1 = string.match(temp,"\'(.*?)\'")}
    win.delay(100)
   
if(temp1=0){winform.code.text=string.match(temp,"\,\'(.*?)\'")  }
   
if(temp1=1){temp2 = string.match(temp,"\,\'(.*?)\'")}
   
if(temp2){  
        
var url = "http://captcha.qq.com/getimage?aid=15000101&r="+ math.random() +"&uin="+ qq +"&vc_type="+ temp2 +""
        winform.picturebox.image = http.get(url)
    }
}


第二步:輸入密碼及驗證碼,然后登錄
  1. http://ptlogin2.qq.com/login?ptlang=2052&u=QQ號&p=MD5加密的密碼&verifycode=!5D8&aid=15000101&u1=http%3A%2F%2Fimgcache.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptredirect=1&h=1&from_ui=1&dumy=&fp=loginerroralert&action=3-16-58672&dummy=
復制代碼

登錄的最重要一步,就是MD5加密的密碼,透過(guò)JS 可以看到此加密的密碼算法是:

  1. if (D[B].name == "p") {
  2.        var E = D.verifycode.value;//驗證碼
  3.        E = E.toUpperCase();//字符轉大寫(xiě)
  4.        A += md5(md5_3(D.p.value) + E)
  5. }
復制代碼

用快手代碼寫(xiě)出此JS的加密算法:
import string.md5;

md5_3 =
function(str){
   
var a,b,c = string.md5(str)
   
var a,b,c = string.md5(c)
   
var a,b,c = string.md5(c)
   
return a;      
}

var qqPass = string.md5(md5_3(password)+string.upper(verifycode))



2.2 登錄代碼
import win.ui;
/*DSG{{*/
var winform = win.form(parent=...; text="AAuto Form";right=658;bottom=601 )
winform.add(
button2={ bottom=402;right=127;left=31;top=364;font=LOGFONT( name=
'宋體' );z=9;text="跳轉";cls="button" };
groupbox4={ bottom=202;right=146;left=10;top=144;z=2;text=
"輸入驗證碼";edge=1;cls="groupbox" };
code={ bottom=192;text=
"";left=20;top=163;font=LOGFONT( name='宋體' );z=11;right=124;edge=1;cls="edit" };
qqpass={ bottom=120;text=
"";left=27;top=91;font=LOGFONT( name='宋體' );z=6;right=127;password=1;edge=1;cls="edit" };
qqnum={ bottom=60;text=
"";left=27;top=34;font=LOGFONT( name='宋體' );z=5;right=131;edge=1;cls="edit" };
login={ bottom=349;right=125;left=29;top=311;font=LOGFONT( name=
'宋體' );z=7;text="登錄";cls="button" };
groupbox2={ bottom=70;right=147;left=11;top=18;z=4;text=
"QQ號";edge=1;cls="groupbox" };
edit3={ vscroll=1;text=
"";left=157;multiline=1;top=21;font=LOGFONT( name='宋體' );bottom=401;z=8;right=638;hscroll=1;edge=1;cls="edit" };
picturebox={ bottom=287;notify=1;right=138;left=18;top=231;font=LOGFONT( name=
'宋體' );transparent=1;border=1;z=10;text="picturebox";cls="picturebox" };
groupbox={ bottom=300;right=150;left=7;top=212;z=3;text=
"點(diǎn)擊圖片獲取驗證碼";edge=1;cls="groupbox" };
groupbox3={ bottom=131;right=148;left=10;top=75;z=1;text=
"QQ密碼";edge=1;cls="groupbox" }
)
/*}}*/

import web.form;
var wb = web.form( winform.edit3);//創(chuàng )建web窗體

math.randomize()

import string.md5;
md5_3 =
function(str){
var a,b,c = string.md5(str)
var a,b,c = string.md5(c)
var a,b,c = string.md5(c)
return a;      
}

import inet.http;
http = inet.http();
//創(chuàng )建http對象


//獲取驗證碼函數
verifycode = function(){
   
var url = "http://ptlogin2.qq.com/check?
uin="
+qq+"&appid=15000101&ptlang=2052&r="+math.random()
   
var refter = "http://qzone.qq.com/"
   
var temp = http.get(url,,refter)
    wb.write(temp)
   
if(temp){temp1 = string.match(temp,"\'(.*?)\'")}
    win.delay(100)
   
if(temp1=0){winform.code.text=string.match(temp,"\,\'(.*?)\'")  }
   
if(temp1=1){temp2 = string.match(temp,"\,\'(.*?)\'")}
   
if(temp2){  
        
var url = "http://captcha.qq.com/getimage?aid=15000101&r="+ math.random() +"&uin="+ qq +"&vc_type="+ temp2 +""
        winform.picturebox.image = http.get(url)
    }
}

//獲取輸入的QQ號
winform.qqnum.oncommand = function(id,event){   
    qq= winform.qqnum.text  
}


//獲取驗證碼圖片
winform.picturebox.oncommand = function(id,event){
    inet.clearCache(
"qq.com")
   
if(!qq){
        winform.msgbox(
"請輸入QQ號")
    }
else {
        verifycode()
    }
        
}

//登錄
winform.login.oncommand = function(id,event){
   
var password = winform.qqpass.text  
   
var code = string.upper(winform.code.text);
   
var jiami = string.md5(md5_3(password)+code)
   
var html = http.get("http://ptlogin2.qq.com/login?ptlang=2052&u="+ qq +"&p="+ jiami +"&verifycode="+ code +"&aid=15000101&u1=http%3A%2F%2Fimgcache.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptredirect=1&h=1&from_ui=1&dumy=&fp=loginerroralert")
   
if(html){
        wb.write(string.fromto( html ))
    }
   
if(string.find(string.fromto( html ),"登錄成功")){
        wb.go(
"http://qzone.qq.com")
    }
else {
        winform.msgbox(
"登錄失敗")
    }
   
}


//跳轉
winform.button2.oncommand = function(id,event){
    wb.go(
"http://my.qq.com/")
   
}


winform.show(
true)

//進(jìn)入消息循環(huán)
win.loopMessage();
return winform,wb;

[attach]1235[/attach]




作者: qqmmcc    時(shí)間: 2011-11-3 23:35
本帖最后由 qqmmcc 于 2011-11-2 00:07 編輯

三. POST 發(fā)表日志

3.1  分析
抓包分析,發(fā)表日志POST 提交的地址是
  1. http://b1.qzone.qq.com/cgi-bin/blognew/blog_add?g_tk=62860730
復制代碼
重點(diǎn)是 g_tk 參數值計算,透過(guò)分析JS知道其算法
  1. QZBlog.Util.getToken = function() {

  2.     var skey = QZONE.cookie.get("skey");

  3.     var hash = 5381;

  4.     var len = skey.length;

  5.     for(var index=0; index<len; ++index) {

  6.         hash += (hash << 5) + skey.charCodeAt(index);

  7.     }

  8.     return hash & 0x7fffffff;

  9. };
復制代碼

登陸成功后,會(huì )在登陸成功的cookie值中有一個(gè)skey的cookie,取該cookie的值,進(jìn)行循環(huán)取單字符的二進(jìn)制并取左值

知道JS的加密算法后,用快手代碼改寫(xiě)如下
import string.list;
//獲取cookie的skey值
getSkey = function(){
   
var cookie = inet.getCookie("http://www.qq.com")
   
var cooklst = string.list(cookie,";")
   
return cooklst.skey;
}

//獲取g_tk 的token值
getGtk = function(str){
   
var hash = 5381;
   
for(i=1; #str){
        hash += (hash << 5) + str[ i ];
    }
   
return hash & 0x7fffffff;
}


該g_tk值,登錄后很多地方都要用來(lái)驗證的。重點(diǎn)解決后,然后就是構造數據POST了
發(fā)送成功后服務(wù)器會(huì )返回以下數據
  1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></head><body><script type="text/javascript">document.domain="qq.com";
  2. frameElement.callback(
  3. {"blogid":1318875100,
  4. "letter":0,
  5. "pp":0,
  6. "xmd":0,
  7. "tag":"",
  8. "tip":"發(fā)表成功! "
  9. }
  10. );
  11. </script></body></html>
復制代碼

3.2 POST發(fā)表日志代碼

import string.list;

//獲取cookie的skey值
getSkey = function(){
   
var cookie = inet.getCookie("http://www.qq.com")
   
var cooklst = string.list(cookie,";")
   
return cooklst.skey;
}

//獲取g_tk 的token值
getGtk = function(str){
   
var hash = 5381;
   
for(i=1; #str){
        hash += (hash << 5) + str[ i ];
    }
   
return hash & 0x7fffffff;
}


//獲取當天日期
getDate = function(){
    tm = time();
    tm.format=
"%Y%m%d";
   
return tostring(tm);
}

//發(fā)送數據   
postData = function(gtk){
    lst = string.list( ,
"&")
   
namespace lst{
        uin=..qq;
        category=
"%B8%F6%C8%CB%C8%D5%BC%C7";//個(gè)人日記
        title=..inet.url.encode(winform.title.text);//標題
        content=..inet.url.encode(winform.content.text);//內容
        html="%3Cdiv+class%3D%22blog_details_"+..getDate()+"%22%3E"+content+"%3C%2Fdiv%3E";
        tweetflag=
"0";
        cb_autograph=
"1";
        topflag=
"0";
        needfeed=
"0";
        g_tk = gtk;
        _fp_refer=
"http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fnewblog%2Fv5%2Feditor.html%3Fsource%3D1%7Chttp%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fnewblog%2Fv5%2Feditor.html%3Fsource%3D1%3Chttp%3A%2F%2Fuser.qzone.qq.com%2F"+uin   
    }   
   
return tostring(lst);
}


// 發(fā)表日志
winform.button3.oncommand = function(id,event){     
   
var skey = getSkey()
   
var gtk = getGtk(skey)
   
var data = postData(gtk)
   
var refter = "http://ctc.qzs.qq.com/qzone/v5/toolpages/fp_gbk.html"
   
var url = "http://b1.qzone.qq.com/cgi-bin/blognew/blog_add?g_tk=" +gtk
   
var header = "Content-Type: application/x-www-form-urlencoded"
    win.delay(100)
   
var html = http.post(url,data,header,refter)
   
if(html){
        str = string.match(html,
"callback\((.*?)\)")
        wb.write(str)
    }   
   
}

[attach]1237[/attach]      [attach]1236[/attach]



作者: qqmmcc    時(shí)間: 2011-11-3 23:36
四. POST 上傳圖片至QQ空間相冊
1.1 分析
抓包可以發(fā)現,POST上傳文件的包數據,與普通的POST提交數據明顯不同的地方就是

-----------------------------7d86d710144a(隨機字符串
Content-Disposition: form-data; name="filename"; filelength="8922"; filename="haiou.jpg"
Content-Type: image/jpeg

?(抓包數據看到的亂碼,其實(shí)是文件二進(jìn)制流,在文本框只能看到“?”

-----------------------------7d86d710144a
Content-Disposition: form-data; name="albumid"(必須)

dc48aa07-11ad-40fd-8daa-a9a713a1b48f(name值)

...........(l略)

-----------------------------7d86d710144a-- 最后“--”告訴網(wǎng)站服務(wù)器,該文件上傳結束

POST 提交地址:
  1. http://hzup.photo.qq.com/cgi-bin/upload/cgi_upload_pic?g_tk=1008073779&boundary=---------------------------7d86d710144a
復制代碼
在快手,構造POST上傳數據的庫是web.uploadData
formdata = web.uploadData("字段參數","上傳字段名","上傳文件路徑")

第一個(gè)參數:字段參數,即是上傳提交控件的NAME屬性及值;
在此例,由于是flash上傳控件,只能抓包查找,經(jīng)分析 "albumid"  是name
"dc48aa07-11ad-40fd-8daa-a9a713a1b48f" 是值,是QQ空間的相冊地址ID


第二個(gè)參數:上傳字段名,即接收文件的字段名,type="file"的NAME屬性
在此例,”filename“ 是第二個(gè)參數,上傳服務(wù)器接收文件的字段名

多個(gè)字段參數鍵值對可用"&"符號分隔:


在此例,抓包數據顯示提交的字段參數蠻多的,但不是全部必須要構造的,分析后,只有albumid是必須的,獲取該值的方法透過(guò)網(wǎng)頁(yè)源碼或分析JS數據進(jìn)行提取。
//獲取默認相冊地址
getAlbum = function(){
   
var str = http.get("http://xalist.photo.qq.com/fcgi-bin/fcg_list_album?uin="+ qq + "&outstyle=2&t=%f")
   
var id = string.match(str,"_Callback\((.*)\)")
   
var tab = web.json.parse(id)
   
return tab.album[1].id;
}


4.2 上傳圖片至相冊代碼

//創(chuàng )建狀態(tài)欄
import win.ui.statusbar;
var stat = win.ui.statusbar( winform );

// 接收文件拖放
winform.wndproc = function(hwnd,message,wParam,lParam){
   
select(message) {//判斷消息類(lèi)型
        
        
case 0x233/*_WM_DROPFILES 文件放下消息*/{           
            
            path = win.getDropFile(wParam )[1];
//獲取拖放文件的路徑及文件名
            stat.setText("準備上傳文件 : "+path)
            
            }
    }
}

import web.uploadData;
import web.json;

//獲取默認相冊地址
getAlbum = function(){
   
var str = http.get("http://xalist.photo.qq.com/fcgi-bin/fcg_list_album?uin="+ qq + "&outstyle=2&t=%f")
   
var id = string.match(str,"_Callback\((.*)\)")
   
var tab = web.json.parse(id)
   
return tab.album[1].id;
}

//上傳圖片
winform.button4.oncommand = function(id,event){
   
var skey = getSkey()
   
var gtk = getGtk(skey)
   
var albumid = getAlbum()
   
var formdata = web.uploadData("albumid="+albumid+"","filename",path);   
   
var boundary = string.match(formdata.header,"boundary\=(.*)")   
   
var url = "http://hzup.photo.qq.com/cgi-bin/upload/cgi_upload_pic?g_tk="+ gtk +"&boundary="+boundary+""
   
var referer = "http://ctc.qzs.qq.com/qzone/client/photo/swf/Upload.swf"
   
var html = http.post(url,formdata.data,formdata.header,referer);
    stat.setText(
"正在上傳請稍候。。。")
   
if(string.find(html,"上傳成功")){
        wb.go(
"http://user.qzone.qq.com/" +qq+"/photo/"+albumid+"/ ")
        stat.setText(
"上傳成功")
    }
else {
        winform.msgbox(
"上傳失敗")
    }
    reset()
   
    io.open()
    io.print(html)
}

[attach]1251[/attach]
作者: look    時(shí)間: 2011-11-4 00:14
支持筆記教程!
作者: fyy    時(shí)間: 2011-11-4 00:32
精品教程,非常不錯。
作者: lihuanboy    時(shí)間: 2011-11-4 03:45
真是辛苦了 謝謝分享
作者: sj798    時(shí)間: 2011-11-4 08:44
謝謝分享,學(xué)習了
作者: 低調點(diǎn)    時(shí)間: 2011-11-4 08:45
{:soso__10740271207609421906_3:}
作者: sj798    時(shí)間: 2011-11-4 08:45
謝謝分享,學(xué)習了
作者: xx44t10    時(shí)間: 2011-11-4 09:38
經(jīng)典?。浅T敿毜慕坛蹋x謝樓主
作者: 落伍者    時(shí)間: 2011-11-4 09:51

作者: quickerfans    時(shí)間: 2011-11-4 10:01
[attach]1252[/attach]
對于超版提到的查看那些腳本,一時(shí)不知道從哪兒查找。{:soso_e110:}
作者: laniv    時(shí)間: 2011-11-4 10:43
我記得有個(gè)工具也可以。。。
HTTPAnalyzer  協(xié)議嗅探軟件
這個(gè)工具也可以抓取。
作者: 編程    時(shí)間: 2011-11-4 11:35
用 Firefox
點(diǎn)Tools(工具)->add-ons(附加組件)
搜索firebug,安裝,重啟Firefox

用Firefox打開(kāi)網(wǎng)頁(yè),按F12 啟動(dòng)Firebug
點(diǎn)Net(網(wǎng)絡(luò ))->All(所有) 然后刷新頁(yè)面。
可以看到抓包工具例出了所有Get,Post的詳細信息。

找到你需要的Post條目,點(diǎn)前面的+號展開(kāi).點(diǎn)擊Post信息標簽
可以看到Post的所有參數(Parameters) 以及源代碼(Source)
其中的Source就可以作為post的參數使用。


作者: fangbaiyu    時(shí)間: 2011-11-4 12:24
好好學(xué)習  天天向上
初學(xué) 收藏學(xué)習{:soso_e100:}
作者: donque2010    時(shí)間: 2011-11-5 08:48
非常不錯的教程,收藏了
作者: 夜云    時(shí)間: 2011-11-6 12:50
超好教程,過(guò)幾天學(xué)習下。。。
作者: qqmmcc    時(shí)間: 2011-11-9 01:13
papapa314 發(fā)表于 2011-11-8 06:22

奇怪,為什么我輸入我的qq賬號密碼,明明都是正確的,但就是提示登陸失敗,ptuiCB('3','0','','0','您輸入 ...

步驟:
1.先輸入QQ號碼 也可以選擇輸入密碼
2.點(diǎn)擊圖片框獲取驗證碼,如果圖片框出現驗證碼圖片,則需要手動(dòng)輸入驗證碼
3.最后一步才點(diǎn)擊登錄框

完成上面步驟后還出錯,請打開(kāi)瀏覽器手動(dòng)登錄一次,自己抓包研究實(shí)現!
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
【 POST/GET教程】登錄QQ空間發(fā)表日誌&POST上傳相冊圖片
界面間傳json對象問(wèn)題,Unicode轉碼
Delphi 天氣預報查詢(xún) (IXMLHttpRequest )
Delphi自動(dòng)檢測U盤(pán)插入
AJAX
C/C++ 字符編碼的轉換(ut8、gb2312)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久