Помогите с проблемой wininet.dll - страница 2

 
Да сервер дает информацию, тем более перепробовал много адресов. Проблема в том что при любом запросе (не только даты изменения), функция всегда возвращает 0.
 
pretorian писал(а) >>
А можешь еще пожалуйста привести фрагмент кода с определением CONTENT LENGTH.
...
...
...                   
hHttpOpenRequest=HttpOpenRequestA(hInternetConnect,aMethod,aObjName,"","",0,INTERNET_FLAG_RELOAD,0);
                        if(hHttpOpenRequest!=0){
                              int Bu[256];
                              int Bul[]={1024};
                              int B2[]={0};
                              int r=HttpQueryInfoA(hHttpOpenRequest,22,Bu,Bul,B2);
 
О, спасибо. Вроде работает, но теперь дату изменения возвращает такой строкой  
WdAr2 25:121 Mdr 511M
Может я не так извлекаю ее из буфера?
int BufLen[]={1024};
  int ind[]={0};
  int buf0[256];
  string s="";
  int NewModified=0;
  int iRes;
  iRes=HttpQueryInfoW(hURL,HTTP_QUERY_LAST_MODIFIED,buf0,BufLen,ind);
  if(iRes<=0)
  {
    Print("Ошибка при вызове HttpQueryInfoA()");
    Inf="Ошибка получения информации о файле";
    Info(Inf);
  }
  else
  {
    s="";
    for(int k = 0; k < 1024; k++)
    {
      s=s+CharToStr(buf0[k]);
    }
  }
  Print(s);
 
pretorian писал(а) >>
О, спасибо. Вроде работает, но теперь дату изменения возвращает такой строкой Может я не так извлекаю ее из буфера?

s="";
for(int k = 0; k < 256; k++)
{
s=s+CharToStr(buf0[k]);
}
}
Print(s);


В одном инте четыре буквы.

 
Integer:

Здравствуйте. Объясните пожалуйста почему в функцию HttpQueryInfo в качестве параметра lpdwBufferLength и lpdwIndex передали указатель не целое int значение, а буфер ведь в MSDN ничего такого не сказано, хотя только таким образом функция возвращает TRUE? Конечно все работает прекрасно но пришлось очень много танцевать с бубном, да и гугл толком не дал ответа. Во всех примерах передается int буфер[] , int ЕгоДлина, int Указатель но тогда возвращается FALSE и GetLastError()=0. Хочу просто разобраться что к чему, где копать.
 
Потому что туда надо передавать указатель. А указатель можно получить только через массив.
 
TheXpert:
... указатель можно получить только через массив.

Вот тут поподробнее или где можно почитать. Из MSDN:

lpdwIndex [in, out]

Pointer to a zero-based header index used to enumerate multiple headers with the same name. When calling the function, this parameter is the index of the specified header to return. When the function returns, this parameter is the index of the next header. If the next index cannot be found, ERROR_HTTP_HEADER_NOT_FOUND is returned.

lpdwIndex

Длинный указатель, базирующийся нулевой индекс заголовка использованный, чтобы перечислять многочисленные заголовки с тем же именем. При разговоре функции, этот параметр является индексом определенного заголовка, чтобы возвращаться. Когда функция возвращается, этот параметр является индексом следующего заголовка. Если следующий индекс не может быть обнаружен, ERROR_HTTP_HEADER_NOT_FOUND возвращан.

Как я понял что про массив ни слова.

 

А спросите в MSDN, почему там про это не написано.

Работает? Работает! Что еще надо? 

Причина обращения: