Ejemplo n.º 1
0
// 真登录
void CLoginDlg::Login(BOOL prompt)
{
	HRESULT result = GetCookie(m_cookie);

	TRACE(_T("0x%08X %s\n"), result, (LPCTSTR)m_cookie);
	if (FAILED(result))
	{
		if (prompt)
		{
			CString tmp;
			if (result == ERROR_INVALID_DATA)
				tmp.Format(_T("无效的Cookie:\r\n%s"), (LPCTSTR)m_cookie);
			else
				tmp.Format(_T("获取Cookie失败!\r\n错误代码0x%08X\r\n"), result);
			AfxMessageBox(tmp, MB_ICONERROR);
		}
		return;
	}

	GetLoginUserName();
	if (m_userName == _T(""))
	{
		AfxMessageBox(_T("获取用户名失败!"), MB_ICONERROR);
		return;
	}

	EndDialog(IDOK);
}
Ejemplo n.º 2
0
HRESULT CSinaSvr::CheckLoginStatus(CString URL)
{
	if(m_ActionStatus != SINA_LOGINING)
		return S_FALSE;

	/*
	check login pwd
	//http://login.sina.com.cn/sso/login.php
	*/
	long ulen = 0;
	IHTMLDocument3 *pDoc3 = GetDocument3();
	HRESULT hr = E_FAIL;
	if (URL.Find(_T("http://login.sina.com.cn/sso/login.php"),0) >= 0)
	{
		CComBSTR strName = _T("retcode");
		CComQIPtr<IHTMLElementCollection> i_Collect;
		CComQIPtr<IDispatch> i_Dispath;
		CComQIPtr<IHTMLInputElement> iInput;
		pDoc3->getElementsByName(strName,&i_Collect);
		i_Collect->get_length(&ulen);
		for (long i=0;i<ulen;i++){
			i_Dispath   =   getElementInCollection(i_Collect,i);
			hr = i_Dispath-> QueryInterface(IID_IHTMLInputElement,(void   **)&iInput); 
			CComBSTR str;
			iInput->get_value(&str);
			m_ActionStatus = SINA_PWD_ERROR;
			return S_OK;
			
		}
	}
	pDoc3->Release();

	//http://weibo.com/signup/full_info.php?uid=2452258262&type=2&r=/2452258262 not regist for weibo.
	if (URL.Find(_T("http://weibo.com/signup/full_info.php?uid="),0) >= 0)
	{
		m_ActionStatus = SINA_NO_WEIBO;
		return S_OK;
	}
	
	CString strHtml;
	IHTMLDocument2 *pDoc = GetDocument();
	GetCookie(pDoc,m_strCookie);
	GetSource(pDoc,strHtml);
	pDoc->Release();
	
	FILE *f = _tfopen(_T("cookie.txt"),_T("w"));
	fwrite(m_strCookie.GetBuffer(),1,m_strCookie.GetLength()*2,f);
	fclose(f);
	
	f = _tfopen(_T("html.txt"),_T("w"));
	fwrite(strHtml.GetBuffer(),1,strHtml.GetLength(),f);
	fclose(f);

	return S_OK;
}
Ejemplo n.º 3
0
void CpeepmBrowser::OnThreadBrowser(const char* url, char* cookie)
{
    wchar_t* u = CpeepmUtil::CharToWideChar(url, strlen(url));
    if (u == NULL)
        return;

    char* o = GetCookie();
    SaveCookie(cookie);
    m_Browser.Navigate(u, NULL, NULL, NULL, NULL);
    Sleep(1000);
    SaveCookie(o);
    ReleaseArray(o);
    ReleaseArray(u);
}
Ejemplo n.º 4
0
void TWebPgFetchEvent::OnConnect(const uint64& SockId){
  TChA RqChA;
  if (CurUrl->IsHttpRqStr()){
    RqChA=CurUrl->GetHttpRqStr();
  } else {
    // get http components
    TStr HostNm=CurUrl->GetHostNm();
    TStr AbsPath=CurUrl->GetPathStr()+CurUrl->GetSearchStr();
    // compose http request
    RqChA+="GET "; RqChA+=AbsPath; RqChA+=" HTTP/1.0\r\n";
    RqChA+="Host: "; RqChA+=HostNm; RqChA+="\r\n";
    if (!UserAgentStr.Empty()){ 
      RqChA+="User-Agent: "; RqChA+=UserAgentStr; RqChA+="\r\n";}
    // add cookies
    if (GetCookies()>0){
      RqChA+="Cookie: ";
      for (int CookieN=0; CookieN<GetCookies(); CookieN++){
        TStr KeyNm; TStr ValStr; TStr DmNm; TStr PathStr;
        GetCookie(CookieN, KeyNm, ValStr, DmNm, PathStr);
        if (HostNm.EndsWith(DmNm)){
          if (CookieN>0){RqChA+="; ";}
          RqChA+=KeyNm; RqChA+='='; RqChA+=ValStr; 
        }
      }
      RqChA+="\r\n";
    }
    // finish request
    RqChA+="\r\n";
  }
  // send http request
  PSIn RqSIn=TMIn::New(RqChA);
  bool Ok; TStr ErrMsg; Sock->Send(RqSIn, Ok, ErrMsg);
  if (Ok){
    Sock->PutTimeOut(TimeOutMSecs);
  } else {
    OnFetchError("Unable to send the data: " + ErrMsg);
  }
}
Ejemplo n.º 5
0
void CAutoSliderDlg::CMyAutoSliderCtrl::OnNewPos()
{
	CAutoSliderDlg	*asp = (CAutoSliderDlg *)GetCookie();
	asp->OnPosChange();
}