public
partial
class
formwebbrowser :form
private
static
cookiecontainer
_reqcookies = new
cookiecontainer();
//////
請求cookies
///public
static
cookiecontainer
reqcookies
return
_reqcookies;
}set
}public
string
_cookiestr;
public
string
cookiestr
set}
public
string
lasturl
set}
private
string
_lasturl;
private
int_id;
public
intid
set}
private
string
_useridlist;
public
string
user_idlist
set}
private
string
_user_namelist;
public
string
user_namelist
set}
private
static
datatable
_dtuserurllist = new
datatable();
public
static
datatable
dtuserurllist
set}
system.threading.autoresetevent
obj = new
system.threading.autoresetevent(false);
private
void
formwebbrowser_load(object
sender, eventargs
e)///
///登陸並獲取所有好友
id///
public
void
btnsubmit_click(object
sender, eventargse)}
string useriddata = friendsuseriddata.split("\r\n=;".tochararray());
user_idlist = useriddata[3].tostring();
user_namelist = useriddata[7].tostring();
d**friendlist_databind(user_idlist, user_namelist);}}
private
void
button1_click(object
sender, eventargs
e)catch (system.exception
ex)}
}messagebox.show("");
}private
void
webbrowser1_documentcompleted(object
sender, webbrowserdocumentcompletedeventargs
e)catch (system.exception
ex)}
obj.set();
mywebbrowser.documentcompleted -= new
webbrowserdocumentcompletedeventhandler(webbrowser1_documentcompleted);
}///
///繫結
//////
好友id
///使用者名稱
private
void
d**friendlist_databind(string
pfriendsuseridlist, string
pfriendsusernamelist)
;string
friendsuseridlist = pfriendsuseridlist.trim(charstotrim);
string
friendsusernamelist = pfriendsusernamelist.trim(charstotrim);
datagridview.checkforillegalcrossthreadcalls = false;
d**friendlist.backgroundcolor = color.white;
d**friendlist.columnheadersheightsizemode = system.windows.forms.datagridviewcolumnheadersheightsizemode.autosize;
d**friendlist.datasource = stringtodatatable(friendsuseridlist, friendsusernamelist);
d**friendlist.columns["
好友id"
].width = 100;
d**friendlist.columns["
使用者名稱"
].width = 100;
d**friendlist.columns["
個人主頁
"].datapropertyname = "
個人主頁";
d**friendlist.columns["
個人主頁
"].sortmode = datagridviewcolumnsortmode.notsortable;
d**friendlist.columns["
個人主頁
"].autosizemode = datagridviewautosizecolumnmode.fill;
}///
///分割
//////
好友id
///使用者名稱
///public
static
datatable
stringtodatatable(string
friendsuseridlist, string
friendsusernamelist)
string sarrayidlist = friendsuseridlist.split(',');//
分割後分別存到
sarray
陣列裡,下面語句讀出
string sarraynamelist = friendsusernamelist.split(',');
string sarrayurl = new
string[sarrayidlist.length];
for (int
j = 0; j
< sarrayidlist.length; j++)
for (int
m = 0; m
< sarrayidlist.length; m++));}
}return
dtuserurllist;
}private
void
formwebbrowser_formclosed(object
sender, formclosedeventargse)}
//////
訪問其他頁面
//////
///public
static
string
regethtml(string
strurl)
模擬登陸過程應該很簡單,由
webbrowser
自動完成(前提
mywebbrowser
.n**igate
引數組成好就行了
),難的就是怎麼知道獲取所有的好友
id,這個很困難,不過可以通過
fiddler
抓包很容易就知道了,這裡就是乙個頁面存放者該
id(getfriends)
下所有好友的id。
jsid
,但通過
ie developer *******
可以看出此文字框是有
id的,而且
webbrowser
可以獲取由
jsid
,可以正常的使用
htmlelement
獲取document
元素,然後執行
onclick
事件提交表單。
此方法還有個就是採用了多執行緒處理迴圈事件,因為我們提交表單,需要在
webbrowser
成功載入完才能執行。
system
.threading.autoresetevent
obj = new
system.threading.autoresetevent(false);
public
void
btnsubmit_click(object
sender, eventargs
e)private
void
webbrowser1_documentcompleted(object
sender, webbrowserdocumentcompletedeventargs
e)模擬登陸demo
位址一
PHP CURL之模擬POST登陸
curl簡介 curl允許你與各種的伺服器使用各種型別的協議進行連線和通訊,目前支援的協議包括 http https ftp gopher telnet dict file ldap,同時也支援https認證 http post http put ftp 上傳 這個也能通過php的ftp擴充套件完成...
c curl模擬登陸
我們在使用一些 時,輸入使用者名稱,密碼即可登陸該 登陸原理就是將使用者輸入的使用者名稱和密碼組合成乙個特定字串,post給乙個url位址,如果使用者名稱密碼正確,就可以登陸了,如果想使用程式模擬這種登陸過程,需要下面的步驟 1 抓包工具,推薦使用httpwatch專業版,輸入使用者名稱,密碼就開始...
CURL模擬登陸
created by phpstorm.user machenike date 2016 7 8 time 13 40 header content type text html charset utf 8 set time limit 0 關閉請求時間 cookie tempnam cookie ...