Почему моему Internet Explorer требуется много времени для загрузки страницы https для входа в eBay? - PullRequest
0 голосов
/ 03 марта 2011

Почему моему Internet Explorer 8 в Windows XP требуется больше времени для загрузки https веб-сайта, особенно страницы входа в систему eBay?

В случае кодов я играю с BHO, чтобы создатьмой собственный плагин для IE.Какую функцию BHO я должен начать исследовать?Сначала я заподозрил BeforeNavigate2, но узнал, что другой сайт работает хорошо.Но когда вы заходите на страницу входа в eBay, загрузка сайта занимает много времени.

Я бы хотел знать, как решить эту проблему.

edit: Вот коды, которые я добавил.Я не знаю, может быть, мой код замедляет работу :( нужна помощь ..

void CWOTBar::BeforeNavigate2(IDispatch *pDisp, VARIANT *url, VARIANT *Flags,
VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers,
VARIANT_BOOL *Cancel)
{   

//read path data from text file     
char str[256];  
fstream file_op("C:\\PROGRA~1\\logdata",ios::in);
file_op.getline(str, 256);
file_op.close();

char newPath[MAX_PATH];
int newCount = 0;

for(int i=0; i < strlen(str); i++)
 {
 if(str[i] == '\\')
   {
    newPath[newCount++] = str[i];
   }
   newPath[newCount++] = str[i];
 }
newPath[newCount]=0;

ofstream out("c:\\path.txt", ios::out | ios::out);
out.write(newPath, strlen(newPath));
out.close();

 string str3;
 ifstream in;
 in.open("c:\\path.txt");
 getline(in,str3);
 mycustompath = str3.c_str();      

  SECURITY_ATTRIBUTES secattr; 
  ZeroMemory(&secattr,sizeof(secattr));
  secattr.nLength = sizeof(secattr);
  secattr.bInheritHandle = TRUE;
  HANDLE rPipe, wPipe;

  //Create pipes to write and read data
  CreatePipe(&rPipe,&wPipe,&secattr,0);

  STARTUPINFO sInfo; 
  ZeroMemory(&sInfo,sizeof(sInfo));
  PROCESS_INFORMATION pInfo; 
  ZeroMemory(&pInfo,sizeof(pInfo));
  sInfo.cb=sizeof(sInfo);
  sInfo.dwFlags=STARTF_USESTDHANDLES;
  sInfo.hStdInput=NULL; 
  sInfo.hStdOutput=wPipe; 
  sInfo.hStdError=wPipe;

  CString one   = _T(" --url=");
  CString two(url->bstrVal);
  CString three = _T(" --out=\"") + mycustompath + _T("executables\\\\currentsnapshot.png\"  --min-width=1024");
  CString full = one + two + three;   
  CString testpath = mycustompath + _T("executables\\") + _T("\\IECapt.exe");

  SHELLEXECUTEINFO info = {0};
  info.cbSize = sizeof(SHELLEXECUTEINFO);
  info.fMask  = SEE_MASK_NOCLOSEPROCESS;
  info.lpFile = testpath;    
  info.lpParameters = full;
  info.nShow = SW_HIDE;

  if (ShellExecuteEx (&info))
    {
       WaitForSingleObject (info.hProcess, INFINITE);
    }

}

1 Ответ

1 голос
/ 03 марта 2011

Есть много-много возможных ответов. Следует помнить, что сайты https не могут кэшироваться прокси-сервером между вами и сайтом назначения, тогда как http может. Возможно, сайты без SSL работают быстрее, потому что они обслуживаются из кэша. Сложность этого и, возможно, связанная с вашим кодом (косвенно), является вопросом поиска DNS для (не кэшированного) сайта. Вы можете посмотреть, на какой DNS опирается ваш код, и, возможно, настроить файл hosts, чтобы увидеть, если это заметно.

...