亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
Linux下Socket登陸HTTP服務器
[打印本頁]
作者:
quxianyang
時間:
2009-02-23 16:28
標題:
Linux下Socket登陸HTTP服務器
我想在Linux下使用Socket實現(xiàn)遠程登陸一個HTTP服務器的功能。
找到了一份原來在Windows下實現(xiàn)的代碼:
static TCHAR hdr_agent[] = _T("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 1.1.4322)");
static char * strPostData = "Host=192.168.100.163&LoginName=dGVzdA%3D%3D&LoginPassword=MTExMQ%3D%3D&LoginNameX=test&LoginPasswordX=1111";
HINTERNET hSession = NULL,
hConnect = NULL,
hRequest = NULL;
// Use WinHttpOpen to obtain a session handle.
hSession = WinHttpOpen( hdr_agent,
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
WINHTTP_NO_PROXY_NAME,
WINHTTP_NO_PROXY_BYPASS, 0 );
if( hSession )
hConnect = WinHttpConnect( hSession, L"192.168.100.163", INTERNET_DEFAULT_HTTPS_PORT, 0 );
//====================================================================================
if( hConnect )
hRequest = WinHttpOpenRequest( hConnect, L"POST", L"/SSL/user/PasswordUserLogin",
NULL, WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
WINHTTP_FLAG_SECURE );
DWORD dwSSLFlag;
dwSSLFlag = SECURITY_FLAG_IGNORE_UNKNOWN_CA;
dwSSLFlag |= SECURITY_FLAG_IGNORE_CERT_DATE_INVALID;
dwSSLFlag |= SECURITY_FLAG_IGNORE_CERT_CN_INVALID;
dwSSLFlag |= SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE;
WinHttpSetOption(hRequest, WINHTTP_OPTION_SECURITY_FLAGS, &dwSSLFlag, sizeof(dwSSLFlag));
// Send a request.
if( hRequest )
bResults = WinHttpSendRequest( hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS, 0,
(LPVOID)strPostData, strlen(strPostData),
strlen(strPostData), 0 );
復制代碼
其中LoginName和LoginPassword是對LoginNameX和LoginPasswordX的Base64編碼。
我參考這個寫了一個請求:
static char *REQUEST_1 =
"POST /SSL/user/PasswordUserLogin HTTP/1.1\r\n"
"Content-Length:200\r\n"
"User-Agent:Mozilla/4.0\r\n"
"Host:%s&LoginName=dGVzdA%3D%3D&LoginPassword=MTExMQ%3D%3D&LoginNameX=test&LoginPasswordX=1111\r\n\r\n"
復制代碼
但是我的請求總是得不到正確的響應。Windows下的Socket我不怎么會,大家?guī)兔纯词悄膶懙貌粚。謝謝~
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2