Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

Проблемы с геттерами   Найти похожие ветки 

 
Рацелий   (2007-07-09 12:16) [0]

Здравствуйте, Мастера!
У меня очень большая проблема. Я совершенно не могу получить ответ от моего скрипта. Вот что я должен, по идее, получить:
crc32.php:8465126387 libcrc32.php:748454565
а в ответ пустоту. Если убрать вырезку html, то вот что получаю:
HTTP/1.1 200 OK
Date: Sun, 08 Jul 2007 08:16:08 GMT
Server: Apache/1.3.33 (Win32) PHP/4.4.2
X-Powered-By: PHP/4.4.2
Connection: close
Content-Type: text/html
Я совершенно не могу понять в чем причина, я уже нашел топик здесь на 4 странице, скопировал код, но все равно не то. Скрипт 100% рабочий.
Код программы и скрипт вы можете скачать отсюда:
http://hate.byethost.com/iq/e107_files/public/36_mycvs_updater.zip
А вот выкладываю просто код (если кто-то не хочет закачивать):
function GetData(const action: string; get: boolean): string;
const
  host = "test1.ru";
var
  wData : WSADATA;
  addr  : sockaddr_in;
  sock  : TSocket;
  error : integer;
  buf   : array [0..1023] of Char;
  s     : string;
  phe   : PHostEnt;
begin
//Инициализация сокета
  Result := "";
  WSAStartup($0101, wData);
  phe := gethostbyname(PChar(string(host)));
  if phe = nil then
  begin
    WSACleanup;
    Exit;
  end;

  sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

  if sock = INVALID_SOCKET then
  begin
    WSACleanup;
    Exit;
  end;

  addr.sin_family := AF_INET;
  addr.sin_port   := htons(80);
  addr.sin_addr   := PInAddr(phe.h_addr_list^)^;

  error := connect(sock, addr, sizeof(addr));
  if error = SOCKET_ERROR then
  begin
    closesocket(sock);
    WSACleanup;
    Exit;
  end;

// Составляем строку запроса
 s := "GET /crc32.php?action=updater&mode=view" + " HTTP/1.0"#13#10 + "Host: " + host + #13#10#13#10;
 {str := "POST /crc32.php?action=update" + " HTTP/1.0"#13#10 +
        "Host: " + host + #13#10 +
        "Content-Type: application/x-www-form-urlencoded"#13#10 +
        "Content-Length: 14"#13#10#13#10 + "action=updater";  }

// отправляем
  send(sock, s[1], Length(s), 0);

// Если нужен ответ то принимаем
  if get then
  begin
    ZeroMemory(@buf, 1024);
    error := recv(sock, buf, 1024, 0);
    while error > 0 do
    begin
      Result := Result + Copy(buf, 0, error);
      error  := recv(sock, buf, 1024, 0);
    end;
  end;
// Закрываем сокет – завершаем работу с сетью
  closesocket(sock);
  WSACleanup;
   
// Вырезаем из ответа то что нам нужно, т.е. отрезаем HTTP заголовки
  //if (get) and (Result <> "") then
    //Result := Copy(Result, pos(#13#10#13#10, Result) + 4, Length(Result));
end;


 
Рацелий   (2007-07-09 12:17) [1]

Очень прошу, помогите!


 
umbra ©   (2007-07-09 12:51) [2]

а можно полностью привести тексты запроса и ответа сервера, полученные сниффером каким-нибудь?



Страницы: 1 вся ветка

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
15-1202491427
KilkennyCat
2008-02-08 20:23
2008.03.30
Свершилось!


15-1202916995
SonOfMorning
2008-02-13 18:36
2008.03.30
одрес с учетом объединения регионов и переименования.


3-1193909601
Ega23
2007-11-01 12:33
2008.03.30
Помогите с запросом, уже всю баку сломал


15-1202661027
ketmar
2008-02-10 19:30
2008.03.30
kpmc git repository


3-1194512166
zorik
2007-11-08 11:56
2008.03.30
Корректное отключение (подключение) TIBDatabase