軟體製作 模擬登陸之WebBrowser

2022-09-08 19:51:08 字數 4871 閱讀 4846

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 ...