Exemple #1
0
string CWRequest::GetURL(string sParams, bool bRelative, bool bURLEncode)
{
    if(sParams == "")
        return GetURL(NULL, bRelative, bURLEncode);
    CWStringList params;
    params.SetText(sParams);
    return GetURL(&params, bRelative, bURLEncode);
}
btData * MiniNovaParser::GetList() 
{
	string data = "";
	btData * list = NULL;


	data = GetData("http://mininova.org/yesterday/", GetURL());
	list = Parse(data);
	data = GetData(GetURL());
	list = Parse(data);
	return list;

}
Exemple #3
0
//----------------------------------------------------------------------------
//  
STDMETHODIMP CAnchoBackgroundAPI::startBackgroundWindow(BSTR bsPartialURL)
{
  // it's safe to call this method multiple times, anyhow the window
  // will be created only once
  if (m_BackgroundWindow)
  {
    return S_OK;
  }
  CStringW sURL(bsPartialURL);
  if (!GetURL(sURL))
  {
    return E_FAIL;
  }

  // get the main api module and inject it into the background page
  CComPtr<IMagpieModuleRestricted> mainModule;
  IF_FAILED_RET(m_Magpie->GetModuleObject((LPOLESTR)s_AnchoMainAPIModuleID, &mainModule));

  CComPtr<IDispatch> mainModuleExports;
  IF_FAILED_RET(mainModule->GetExportsObject(&mainModuleExports));

  CComVariant vt;
  IF_FAILED_RET(mainModuleExports.GetPropertyByName(s_AnchoBackgroundPageAPIName, &vt));
  if (vt.vt != VT_DISPATCH)
  {
    return E_FAIL;
  }

  IF_FAILED_RET(CBackgroundWindow::CreateBackgroundWindow(vt.pdispVal, sURL, &m_BackgroundWindow.p));
  return S_OK;
}
Exemple #4
0
bool wxCurlFTP::Rename(const wxString& szRemoteLocName, 
                       const wxString& szRemoteFile /*= wxEmptyString*/)
{
	if(m_pCURL)
	{
		SetCurlHandleToDefaults(szRemoteFile);

        wxString url(GetURL().c_str(), wxConvUTF8);
		m_szCurrFullPath = url.BeforeLast('/');
		m_szCurrFullPath += wxS("/");
		m_szCurrFilename = url.AfterLast('/');

		if(m_szCurrFilename.IsEmpty())
			return false;

		AppendPostQuote(wxS("RNFR ") + m_szCurrFilename, true);
		AppendPostQuote(wxS("RNTO ") + szRemoteLocName);

		SetCurlHandleQuoteOpts();
		SetOpt(CURLOPT_NOBODY, TRUE);

		if(Perform())
		{
			ResetAllQuoteLists();

			return ((m_iResponseCode > 199) && (m_iResponseCode < 300));
		}

		ResetAllQuoteLists();
	}

	return false;
}
Exemple #5
0
bool wxCurlFTP::RmDir(const wxString& szRemoteLoc /*= wxEmptyString*/)
{
	if(m_pCURL)
	{
        wxString str(szRemoteLoc);
		if(str.Last() != wxS('/'))
			str += wxS("/");
        SetCurlHandleToDefaults(str);

        wxString url(GetURL().c_str(), wxConvUTF8);
		m_szCurrFullPath = url.Left(url.Len() - 1).BeforeLast(wxS('/'));
		m_szCurrFullPath += wxS("/");
		m_szCurrFilename = url.Left(url.Len() - 1).AfterLast(wxS('/'));

		if(m_szCurrFilename.IsEmpty())
			return false;

		AppendPostQuote(wxS("RMD ") + m_szCurrFilename, true);

		SetCurlHandleQuoteOpts();
		SetOpt(CURLOPT_NOBODY, TRUE);

		if(Perform())
		{
			ResetAllQuoteLists();

			return ((m_iResponseCode > 199) && (m_iResponseCode < 300));
		}

		ResetAllQuoteLists();
	}

	return false;
}
bool SFB::FileInputSource::_Open(CFErrorRef *error)
{
	UInt8 buf [PATH_MAX];
	Boolean success = CFURLGetFileSystemRepresentation(GetURL(), FALSE, buf, PATH_MAX);
	if(!success) {
		if(error)
			*error = CFErrorCreate(kCFAllocatorDefault, kCFErrorDomainPOSIX, EIO, nullptr);
		return false;
	}

	mFile = unique_FILE_ptr(std::fopen((const char *)buf, "r"), std::fclose);
	if(!mFile) {
		if(error)
			*error = CFErrorCreate(kCFAllocatorDefault, kCFErrorDomainPOSIX, errno, nullptr);
		return false;
	}

	if(-1 == stat((const char *)buf, &mFilestats)) {
		if(error)
			*error = CFErrorCreate(kCFAllocatorDefault, kCFErrorDomainPOSIX, errno, nullptr);

		mFile.reset();

		return false;
	}

	return true;
}
void FCrashUpload::PostReportComplete()
{
	if (PauseState == EUploadState::PostingReportComplete)
	{
		// Wait for confirmation
		SetCurrentState(EUploadState::WaitingToPostReportComplete);
		return;
	}

	AssignReportIdToPostDataBuffer();

	
	auto Request = CreateHttpRequest();
	Request->SetVerb( TEXT( "POST" ) );
	Request->SetURL(UrlPrefix / TEXT("UploadComplete"));
	Request->SetHeader( TEXT( "Content-Type" ), TEXT( "text/plain; charset=us-ascii" ) );
	Request->SetContent(PostData);
	UE_LOG( CrashReportClientLog, Log, TEXT( "Sending HTTP request: %s" ), *Request->GetURL() );

	if (Request->ProcessRequest())
	{
		SetCurrentState(EUploadState::PostingReportComplete);
	}
	else
	{
		CheckPendingReportsForFilesToUpload();
	}
}
Exemple #8
0
OP_STATUS SpeedDialData::GenerateIDIfNeeded(BOOL force, BOOL use_hash, INT32 position)
{
	// generate a unique id
	if(force || GetUniqueID().IsEmpty())
	{
		if(use_hash && position > 0)
		{
			// Generate a hash based on the position and url, only call on upgrade from < 11.10
			// See https://ssl.opera.com:8008/developerwiki/Opera_Link/Speeddial_2.0#General_notes
			OpString8 str8, url, md5;

			RETURN_IF_ERROR(url.SetUTF8FromUTF16(GetURL()));
			RETURN_IF_ERROR(str8.AppendFormat("%d%s", position, url.CStr()));
			RETURN_IF_ERROR(OpMisc::CalculateMD5Checksum(str8.CStr(), str8.Length(), md5));

			md5.MakeUpper();

			RETURN_IF_ERROR(m_unique_id.Set(md5.CStr()));
		}
		else
		{
			// generate a default unique ID
			RETURN_IF_ERROR(StringUtils::GenerateClientID(m_unique_id));
		}
	}
	return OpStatus::OK;
}
Exemple #9
0
///
///	@brief	드래그 앤 드롭으로 하는 파일 첨부 제어
///
UINT WINAPI DragQueryFileACallback(
								   _In_  HDROP  hDrop,
								   _In_  UINT   iFile,
								   _Out_ LPSTR lpszFile,
								   UINT   cch
								   )
{
	_TRACE(L"");
	CString strURL = GetURL();
	UINT uRet = 0;

	/// 파일 첨부 차단
	if(TRUE == pRule->IsBlockAttachFile())
	{
		/// 파일 첨부 허가 URL 검사
		if(TRUE == SearchStringFromFile(ALLOW_ATTACH_FILE_URL_TXT, strURL))
			uRet = DragQueryFileANext(hDrop, iFile, lpszFile, cch);
		else
		{
			AfxMessageBox(L"Mini-DLP에 의해 파일 첨부가 차단됩니다.");
			return 0;
		}
	}
	else
		uRet = DragQueryFileANext(hDrop, iFile, lpszFile, cch);

	/// 첨부 파일 로그를 남김
	if(TRUE == pRule->IsLoggingMail() && TRUE == pRule->IsLoggingAttachFile())
		if(NULL != lpszFile)
			MakeLogFile(LOG_WEB_FILE, (CString)lpszFile);

	return uRet;
};
NS_IMETHODIMP nsPluginStreamListenerPeer::OnDataAvailable(
    nsIRequest* request, nsIInputStream* aIStream, uint64_t sourceOffset,
    uint32_t aLength) {
  if (mRequests.IndexOfObject(request) == -1) {
    MOZ_ASSERT(false, "Received OnDataAvailable for untracked request.");
    return NS_ERROR_UNEXPECTED;
  }

  if (mRequestFailed) return NS_ERROR_FAILURE;

  nsresult rv = NS_OK;

  if (!mPStreamListener) return NS_ERROR_FAILURE;

  const char* url = nullptr;
  GetURL(&url);

  PLUGIN_LOG(PLUGIN_LOG_NOISY,
             ("nsPluginStreamListenerPeer::OnDataAvailable this=%p request=%p, "
              "offset=%" PRIu64 ", length=%u, url=%s\n",
              this, request, sourceOffset, aLength, url ? url : "no url set"));

  nsCOMPtr<nsIInputStream> stream = aIStream;
  rv = mPStreamListener->OnDataAvailable(this, stream, aLength);

  // if a plugin returns an error, the peer must kill the stream
  //   else the stream and PluginStreamListener leak
  if (NS_FAILED(rv)) {
    request->Cancel(rv);
  }

  return rv;
}
void CAddressBookDialog::Load(LPCTSTR lpszURL)
{
	if (!::IsWindow(m_hWnd))
		return;

	CString szURL = GetURL();
	if (szURL != lpszURL)
		SetURL(lpszURL, TRUE/*bNavigate*/);
}
std::string CefControlBase::GetUTF8URL()
{
	if (browser_handler_.get() && browser_handler_->GetBrowser().get())
	{
		return nbase::UTF16ToUTF8(std::wstring(GetURL().c_str()));
	}

	return CefString();
}
void FHttpRequestWinInet::CancelRequest()
{
	UE_LOG(LogHttp, Log, TEXT("Canceling Http request. %p url=%s"),
			this, *GetURL());

	// force finish/cleanup of request
	// note: will still call completion delegates
	FinishedRequest();
}
Exemple #14
0
int CEasyPDFCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (COleControl::OnCreate(lpCreateStruct) == -1)
		return -1;

	// TODO:  在此添加您专用的创建代码
	GetURL();

	return 0;
}
std::pair<size_t, size_t>
CRepositoryBrowserSelection::FindURL (const CTSVNPath& url) const
{
    for (size_t i = 0, repoCount = GetRepositoryCount(); i < repoCount; ++i)
        for (size_t k = 0, pathCount = GetPathCount (i); k < pathCount; ++k)
            if (GetURL (i, k).IsEquivalentTo (url))
                return std::make_pair (i, k);

    return std::pair<size_t, size_t>((size_t)-1, (size_t)-1);
}
bool FHttpRequestWinInet::ProcessRequest()
{
	bool bStarted = false;

	// Disabled http request processing
	if (!FHttpModule::Get().IsHttpEnabled())
	{
		UE_LOG(LogHttp, Verbose, TEXT("Http disabled. Skipping request. url=%s"), *GetURL());
	}
	// Prevent overlapped requests using the same instance
	else if (CompletionStatus == EHttpRequestStatus::Processing)
	{
		UE_LOG(LogHttp, Warning, TEXT("ProcessRequest failed. Still processing last request."));
	}
	// Make sure Internet connection has been setup 
	else if (!FWinInetConnection::Get().IsConnectionValid() &&
			 !FWinInetConnection::Get().InitConnection())
	{
		UE_LOG(LogHttp, Warning, TEXT("ProcessRequest failed. Could not initialize Internet connection."));
	}
	// Nothing to do without a valid URL
	else if (RequestURL.GetURL().IsEmpty())
	{
		UE_LOG(LogHttp, Warning, TEXT("ProcessRequest failed. No URL was specified."));
	}
	// Make sure the URL is parsed correctly with a valid HTTP scheme
	else if (RequestURL.GetURLComponents().nScheme != INTERNET_SCHEME_HTTP &&
			 RequestURL.GetURLComponents().nScheme != INTERNET_SCHEME_HTTPS)
	{
		UE_LOG(LogHttp, Warning, TEXT("ProcessRequest failed. URL '%s' is not a valid HTTP request. %p"), 
			*RequestURL.GetURL(), this);
	}
	else
	{
		// Mark as in-flight to prevent overlapped requests using the same object
		CompletionStatus = EHttpRequestStatus::Processing;
		// Response object to handle data that comes back after starting this request
		Response = MakeShareable(new FHttpResponseWinInet(*this));
		// Add to global list while being processed so that the ref counted request does not get deleted
		FHttpModule::Get().GetHttpManager().AddRequest(SharedThis(this));
		// Try to start the connection and send the Http request
		bStarted = StartRequest();
	}
	
	if (!bStarted)
	{
		// No response since connection failed
		Response = NULL;
		// Cleanup and call delegate
		FinishedRequest();
	}

	// Successfully started the request
	return bStarted;
}
btData * MyBittorrentParser::GetList() 
{
	string data = "";
	btData * list = NULL;


	data = GetData(GetURL());
	list = Parse(data);
	return list;

}
Exemple #18
0
void wxHyperlinkCtrlBase::SendEvent()
{
    wxString url = GetURL();
    wxHyperlinkEvent linkEvent(this, GetId(), url);
    if (!GetEventHandler()->ProcessEvent(linkEvent))     // was the event skipped ?
    {
        if (!wxLaunchDefaultBrowser(url))
        {
            wxLogWarning(wxT("Could not launch the default browser with url '%s' !"), url.c_str());
        }
    }
}
//SOCKET 数据读取////请求游戏全局参数
bool CCenterServerManage::OnSocketRead(NetMessageHead * pNetHead, void * pData, UINT uSize, ULONG uAccessIP, UINT uIndex, DWORD dwHandleID)
{
	if (pNetHead->bMainID==MDM_GP_REQURE_GAME_PARA)	////请求游戏全局参数
	{
		if (0 == uSize)
		{
			GetURL(NULL);
		}
		else
		{
			char * pBuf = (char*)pData;
			GetURL(pBuf);
		}

		RandAServer();
		m_TCPSocket.SendData(uIndex,&m_msgSendToClient,sizeof(CenterServerMsg),
			MDM_GP_REQURE_GAME_PARA,0,0,0);
		return true;
	}
	return false;
}
void
WebExtensionPolicy::GetURL(const nsAString& aPath,
                           nsAString& aResult,
                           ErrorResult& aRv) const
{
  auto result = GetURL(aPath);
  if (result.isOk()) {
    aResult = result.unwrap();
  } else {
    aRv.Throw(result.unwrapErr());
  }
}
Exemple #21
0
void wxHyperlinkCtrl::SetLabel(const wxString &label)
{
    if ( !HasNativeHyperlinkCtrl() )
    {
        wxGenericHyperlinkCtrl::SetLabel( label );
        return;
    }

    m_labelOrig = label;
    wxWindow::SetLabel( GetLabelForSysLink(label, GetURL()) );
    InvalidateBestSize();
}
Exemple #22
0
Falcon::Falcon(const std::string& ip)
{
	_ip = ip;

    _http.SetMethod("GET");
	_connected = _http.Connect(_ip);

    if (_connected)
    {
        std::string versionxml = GetURL("/status.xml");
        std::string version = GetURL("/index.htm");
        if (versionxml != "")
        {
            static wxRegEx versionregex("(\\<v\\>)([0-9]+\\.[0-9]+)\\<\\/v\\>", wxRE_ADVANCED | wxRE_NEWLINE);
            if (versionregex.Matches(wxString(versionxml)))
            {
                _version = versionregex.GetMatch(wxString(versionxml), 2).ToStdString();
            }
        }
        else
        {
            //<title>F4V2            - v1.10</title>
            static wxRegEx versionregex("(title.*?v)([0-9]+\\.[0-9]+)\\<\\/title\\>", wxRE_ADVANCED | wxRE_NEWLINE);
            if (versionregex.Matches(wxString(version)))
            {
                _version = versionregex.GetMatch(wxString(version), 2).ToStdString();
            }
        }
        static wxRegEx modelregex("(SW Version:.*?\\>)(F[0-9]+V[0-9]+)", wxRE_ADVANCED);
        if (modelregex.Matches(wxString(version)))
        {
            _model = modelregex.GetMatch(wxString(version), 2).ToStdString();
        }
    }
    else
    {
        static log4cpp::Category &logger_base = log4cpp::Category::getInstance(std::string("log_base"));
        logger_base.error("Error connecting to falcon controller on %s.", (const char *)_ip.c_str());
    }
}
Exemple #23
0
void wxHyperlinkCtrl::SetURL(const wxString &url)
{
    if ( !HasNativeHyperlinkCtrl() )
    {
        wxGenericHyperlinkCtrl::SetURL( url );
        return;
    }

    if ( GetURL() != url )
        SetVisited( false );
    wxGenericHyperlinkCtrl::SetURL( url );
    wxWindow::SetLabel( GetLabelForSysLink(m_labelOrig, url) );
}
Exemple #24
0
void WebAddressDlg::SetDialogChangedState()
{	
	
	//If the dialog is still in its initial state...
	if (fDialogIsInInitialState)
	{
		//Then we need to change some things

		//First, let's find the state of the Web Address attributes applied to the 
		//selection
		WebCommonAttributeResult aasApplied=FindCommonWebAttribute();

		//If anything at all is selected
		if (aasApplied!=WCA_NOSELECTION)
		{
			//Then we need to ungrey the Add/Change button
			EnableAdd(TRUE);

			//We also need to clear any intermediate values from the dialog

			//If the URL field says <MANY>, clear that field
			if (GetURL()==String_256(_R(IDS_WEBADDRESSDLG_MANY)))
				ShowURL();

			//If the Frame field says <MANY>, put "self" into that field
			if (GetFrame()==String_256(_R(IDS_WEBADDRESSDLG_MANY)))
				ShowFrame(String_256(_R(IDS_WEBADDRESS_COMBO_SELF)));

			//If the clickable area is indeterminate, show the
			//recommended value for the selection in the radio buttons
			if (GetClickableArea()==2)
				ShowClickableArea(SelectionConsistsOfText());
		}



		//If there is no Web Address on the selection, tell the user
		//so
		if (aasApplied==WCA_DEFAULT)
			ShowWebAddressOnSelection(FALSE);
												
		//If there is any sort of Web Address on the selection, tell the
		//user
		if (aasApplied==WCA_SINGLE || aasApplied==WCA_MANY)
			ShowWebAddressOnSelection(TRUE);
		
	}

	//The dialog is no longer in its initial state
	fDialogIsInInitialState=FALSE;
}
bool FCrashUpload::SendCheckReportRequest()
{
	FString XMLString;

	auto Request = CreateHttpRequest();
	if (State == EUploadState::CheckingReport)
	{
		AssignReportIdToPostDataBuffer();
		Request->SetURL(UrlPrefix / TEXT("CheckReport"));
		Request->SetHeader(TEXT("Content-Type"), TEXT("text/plain; charset=us-ascii"));

		UE_LOG( CrashReportClientLog, Log, TEXT( "Sending HTTP request: %s" ), *Request->GetURL() );
	}
	else
	{
		// This part is Windows-specific on the server
		ErrorReport.LoadWindowsReportXmlFile( XMLString );

		// Convert the XMLString into the UTF-8.
		FTCHARToUTF8 Converter( (const TCHAR*)*XMLString, XMLString.Len() );
		const int32 Length = Converter.Length();
		PostData.Reset( Length );
		PostData.AddUninitialized( Length );
		CopyAssignItems( (ANSICHAR*)PostData.GetData(), Converter.Get(), Length );

		Request->SetURL(UrlPrefix / TEXT("CheckReportDetail"));
		Request->SetHeader(TEXT("Content-Type"), TEXT("text/plain; charset=utf-8"));

		UE_LOG( CrashReportClientLog, Log, TEXT( "Sending HTTP request: %s" ), *Request->GetURL() );
	}

	UE_LOG( CrashReportClientLog, Log, TEXT( "PostData Num: %i" ), PostData.Num() );
	Request->SetVerb(TEXT("POST"));
	Request->SetContent(PostData);

	return Request->ProcessRequest();
}
Exemple #26
0
///
///	@brief	파일 첨부 DLG 제어
///
BOOL WINAPI GetOpenFileNameWCallback(
  _Inout_ LPOPENFILENAMEW lpofn
)
{
	_TRACE(L"");
	CString strURL = GetURL();
	BOOL bRet = FALSE;

	/// 파일 첨부 차단
	if(TRUE == pRule->IsBlockAttachFile())
	{
		/// 파일 첨부 허가 URL 검사
		if(TRUE == SearchStringFromFile(ALLOW_ATTACH_FILE_URL_TXT, strURL))
			bRet = GetOpenFileNameWNext(lpofn);
		else
		{
			AfxMessageBox(L"Mini-DLP에 의해 파일 첨부가 차단됩니다.");
			return FALSE;
		}
	}
	else
		bRet = GetOpenFileNameWNext(lpofn);

	/// 첨부 파일 로그를 남김
	if(TRUE == pRule->IsLoggingMail() && TRUE == pRule->IsLoggingAttachFile())
	{
		if(NULL != *lpofn->lpstrFile)
		{
			if(FALSE == PathIsDirectoryW(lpofn->lpstrFile))
				MakeLogFile(LOG_WEB_FILE, lpofn->lpstrFile);
			else
			{
				CStringArray strArr;
				/// 포인터 연산을 위해 저장
				LPCWSTR lpTemp = lpofn->lpstrFile;
				while(TRUE)
				{
					lpTemp += wcslen(lpTemp) + 1;
					if(NULL != *lpTemp)
						MakeLogFile(LOG_WEB_FILE,(CString)lpofn->lpstrFile + L"\\" + lpTemp);
					else
						break;
				}
			}
		}
	}

	return bRet;
};
VError VFolder::GetRelativeURL(VFolder* inBaseFolder, VString& outURL, bool inEncoded)
{
	VString folderURL;
	VError err = GetURL(outURL, inEncoded);
	if (inBaseFolder != NULL)
	{
		inBaseFolder->GetURL(folderURL, inEncoded);
		if (outURL.BeginsWith(folderURL))
		{
			outURL.Remove(1, folderURL.GetLength());
		}

	}
	return err;
}
void CCenterServerManage::GetURL(char *strKey)
{
	CBcfFile f(CBcfFile::GetAppPath() + "BZGameGate.bcf");
	CString strValue;

	if (NULL == strKey)
	{
		strValue = f.GetKeyVal(_T("GateServer"),_T("RoomRollWords"),_T("欢迎来到泊众棋牌游游戏中心!"));///< 客户端滚动条广告地址
		strncpy(m_msgSendToClient.m_strRoomRollADDR,strValue,sizeof(m_msgSendToClient.m_strRoomRollADDR)-1);
		m_msgSendToClient.m_strRoomRollADDR[sizeof(m_msgSendToClient.m_strRoomRollADDR)-1] = '\0';

		strValue = f.GetKeyVal(_T("GateServer"),_T("WebHelpURL"),_T(""));///< 帮助页WEB地址
		strncpy(m_msgSendToClient.m_strHelpADDR,strValue,sizeof(m_msgSendToClient.m_strHelpADDR)-1);
		m_msgSendToClient.m_strHelpADDR[sizeof(m_msgSendToClient.m_strHelpADDR)-1] = '\0';

		strValue = f.GetKeyVal(_T("GateServer"),_T("WebHomeURL"),_T(""));///< 主页WEB地址
		strncpy(m_msgSendToClient.m_strHomeADDR,strValue,sizeof(m_msgSendToClient.m_strHomeADDR)-1);
		m_msgSendToClient.m_strHomeADDR[sizeof(m_msgSendToClient.m_strHomeADDR)-1] = '\0';

		strValue = f.GetKeyVal(_T("GateServer"),_T("WebRootURL"),_T(""));///< 网站根路径
		strncpy(m_msgSendToClient.m_strWebRootADDR,strValue,sizeof(m_msgSendToClient.m_strWebRootADDR)-1);
		m_msgSendToClient.m_strWebRootADDR[sizeof(m_msgSendToClient.m_strWebRootADDR)-1] = '\0';
	}
	else
	{
		strValue = f.GetKeyVal(_T("WebHomeURL"),strKey,_T(""));///< 主页WEB地址
		if (strValue.IsEmpty())
		{
			GetURL(NULL);
			return;
		}
		strncpy(m_msgSendToClient.m_strHomeADDR,strValue,sizeof(m_msgSendToClient.m_strHomeADDR)-1);
		m_msgSendToClient.m_strHomeADDR[sizeof(m_msgSendToClient.m_strHomeADDR)-1] = '\0';

		strValue = f.GetKeyVal(_T("RoomRollWords"),strKey,_T(""));///< 客户端滚动条广告地址
		strncpy(m_msgSendToClient.m_strRoomRollADDR,strValue,sizeof(m_msgSendToClient.m_strRoomRollADDR)-1);
		m_msgSendToClient.m_strRoomRollADDR[sizeof(m_msgSendToClient.m_strRoomRollADDR)-1] = '\0';

		strValue = f.GetKeyVal(_T("WebHelpURL"),strKey,_T(""));///< 帮助页WEB地址
		strncpy(m_msgSendToClient.m_strHelpADDR,strValue,sizeof(m_msgSendToClient.m_strHelpADDR)-1);
		m_msgSendToClient.m_strHelpADDR[sizeof(m_msgSendToClient.m_strHelpADDR)-1] = '\0';

		strValue = f.GetKeyVal(_T("WebRootURL"),strKey,_T(""));///< 网站根路径
		strncpy(m_msgSendToClient.m_strWebRootADDR,strValue,sizeof(m_msgSendToClient.m_strWebRootADDR)-1);
		m_msgSendToClient.m_strWebRootADDR[sizeof(m_msgSendToClient.m_strWebRootADDR)-1] = '\0';
	}
	
}
Exemple #29
0
void
CXRefreshBHO::SendInfoAboutPage()
{
	// send message
	if (!m_Browser) return;
	if (!m_ConnectionManager.IsConnected()) return;
	
	CString title = GetTitle(m_Browser);
	CString url = GetURL(m_Browser);
	if (m_LastSentTitle==title && m_LastSentURL==url) return; // prevent duplicit page info messages

	// send message
	m_LastSentTitle = title;
	m_LastSentURL = url;
	m_ConnectionManager.SendSetPage(title, url);
}
Exemple #30
0
///
///	@brief	네이버 메일 ssl 통신 시에 본문 로그를 남김
///
BOOL WINAPI InternetWriteFileCallback(
  _In_  HINTERNET hFile,
  _In_  LPCVOID   lpBuffer,
  _In_  DWORD     dwNumberOfBytesToWrite,
  _Out_ LPDWORD   lpdwNumberOfBytesWritten
)
{
	_TRACE(L"");

	CString strURL = GetURL();
	if(strURL.GetLength() > 0)
		strURL.MakeUpper();
	if(0 == strURL.Find(L"HTTPS://MAIL.NAVER.COM"))
	{
		CStringA strBuf = (LPCSTR)lpBuffer;
		if(0 == strBuf.Find("senderName="))
		{
			CString strFileName;
			CStdioFile file;

			/// 메일 내용을 보내는 패킷이라면 html 파일을 생성한다.
			_TRACE(L"Mail Contents!");
			strFileName = (CString)LOG_WEB_CONTENTS + L"\\" + MakeLogFileName(L"PostPacket.html");
			if(FALSE == file.Open(strFileName, CFile::modeCreate | CFile::modeWrite))
				_TRACE(L"file open fail! Error Code : %d", GetLastError());
			else
			{
				/// 패킷에서 주로 쓰이는 구분자 '&'를 html 문법에서 줄바꿈에 해당하는 <br>문자로 바꾼다.
				strBuf.Replace("&", "<br>");
				/// URL 인코딩된 패킷을 디코딩한다.
				CString strDecode = Unicode_URLDecode((CString)strBuf);
				/// UTF-8 형식으로 패킷 내용을 html 파일에 저장한다.
				WriteFileUTF8(file, strDecode);
				file.Close();
			}
		}
	}

	return InternetWriteFileNext(
		hFile,
		lpBuffer,
		dwNumberOfBytesToWrite,
		lpdwNumberOfBytesWritten
		);
}