http_client.cpp

来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· C++ 代码 · 共 80 行

CPP
80
字号
// $Id: http_client.cpp 78918 2007-07-17 04:06:30Z sowayaa $// ============================================================================//// = LIBRARY//    apps/JAWS/clients/Caching//// = FILENAME//    http_client.cpp//// = DESCRIPTION//    This is a very simple client.  It accepts URLs from a prompt, and//    will try to fetch them.  Also accepts shell escapes.//// = AUTHOR//    James Hu//// ============================================================================#include "ace/OS_NS_stdio.h"#include "ace/OS_NS_string.h"#include "ace/OS_NS_ctype.h"#include "http_handler.h"ACE_RCSID(Caching, http_client, "$Id: http_client.cpp 78918 2007-07-17 04:06:30Z sowayaa $")intACE_TMAIN (int, ACE_TCHAR *[]){  // Present a command line.  // * Accept a URL.  //     Pass it to the HTTP_Connector.  //     Connect.  //     Report status.  // * Accept shell escape character.  char buf[BUFSIZ];  ACE_DEBUG ((LM_DEBUG, "* "));  while (ACE_OS::fgets (buf, sizeof (buf), stdin) != 0)    {      char *s = buf;      // get rid of trailing '\n'      int len = ACE_OS::strlen (s);      if (len > 0 && s[len - 1] == '\n')        s[len - 1] = 0;      while (ACE_OS::ace_isspace (*s))        s++;      if (*s == '!')        {          do          s++;          while (ACE_OS::ace_isspace (*s));          // Shell command.          if (ACE_OS::system (ACE_TEXT_CHAR_TO_TCHAR (s)) == -1)            ACE_ERROR ((LM_ERROR, ACE_TEXT (" ! Error executing: %C\n"), s));        }      else if (ACE_OS::strncmp (s, "http://", 7) == 0)        {          // URL          HTTP_Connector connector;          connector.connect (s);        }      else        ACE_ERROR ((LM_ERROR, ACE_TEXT (" ? I don't understand: %C\n"), s));      ACE_ERROR ((LM_ERROR, ACE_TEXT ("* ")));    }  ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\nBye!\n")));  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?