Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9727532
  • 博文数量: 1227
  • 博客积分: 10026
  • 博客等级: 上将
  • 技术积分: 20273
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 12:40
文章分类

全部博文(1227)

文章存档

2010年(1)

2008年(1226)

我的朋友

分类: C/C++

2008-04-02 14:45:08

下载本文示例代码
Google 网站上提供了goole search client api for Java和for dot.net的版本,大家可以参考.

For C/C++的版本特点如下
内置XML解析器.
内置gbk/utf-8编码/解码器(包含GBK编码表)
采用Pure C编写,采用标准C接口.
支持http代理.

用户需要在申请key
演示程序中的key是一个网友给我的,仅供测试用,演示程序中的代理可能连接不上,由于没有设置超时,可能处于等待状态(sorry.....)
函数中各个参数的意义和的说明一样,对此不作过多的介绍.

建议在此基础上开发二次应用,如封装成COM,但不得对作者提供的api进行反编译.
如需转载,请注明原作者,谢谢合作.欢迎交流.

函数接口

/************************************************************************/
   /*google search client api for c/c++*/
   /*By littlestar,2003,TRS Open Lab*/
/************************************************************************/
//go  for more information
/*start primitive data types*/
#ifdef _SOAP_TYPES
typedef char * xsd__string;
typedef int xsd__int;
struct xsd__base64Binary 
{
 unsigned char *__ptr;
 int __size;
};
typedef bool xsd__boolean;
typedef double xsd__double;

/*end primitive data types*/

struct DirectoryCategoryArray 
{
 struct typens__DirectoryCategory * __ptr;
 int  __size;
 int  __offset;
};

struct typens__ResultElement
{
 xsd__string  summary;
 xsd__string  URL;
 xsd__string  snippet;
 xsd__string  title;
 xsd__string  cachedSize;
 xsd__boolean  relatedInformationPresent;
 xsd__string  hostName;
 struct typens__DirectoryCategory * directoryCategory;
 xsd__string  directoryTitle;
};

struct typens__doGoogleSearchResponse 
{
 struct typens__GoogleSearchResult * _return_;
};

struct typens__DirectoryCategory 
{
 xsd__string  fullViewableName;
 xsd__string  specialEncoding;
};

struct typens__GoogleSearchResult 
{
 xsd__boolean  documentFiltering;
 xsd__string  searchComments;
 xsd__int  estimatedTotalResultsCount;
 xsd__boolean  estimateIsExact;
 struct ResultElementArray * resultElements;
 xsd__string  searchQuery;
 xsd__int  startIndex;
 xsd__int  endIndex;
 xsd__string  searchTips;
 struct DirectoryCategoryArray * directoryCategories;
 xsd__double  searchTime;
};

struct ResultElementArray 
{
 struct typens__ResultElement * __ptr;
 int  __size;
 int  __offset;
};

struct typens__doSpellingSuggestionResponse 
{
 xsd__string  _return_;
};

struct typens__doGetCachedPageResponse 
{
 struct xsd__base64Binary * _return_;
};
#endif
//建立Soap连接
extern "C" int _stdcall CreateSoapSession(void **SoapSessionHandle,char 
*strServerAdd,char *key);

//设置代理服务器,支持http代理.
extern "C" int _stdcall SetSoapProxy(void *SoapSessionHandle,char 
*strProxyHost,int ProxyPort);

//页面检索
extern "C" int _stdcall doGoogleSearch(void *SoapSessionHandle, xsd__string 
 q, xsd__int  start, xsd__int  maxResults, xsd__boolean  filter, 
xsd__string  restrict_, xsd__boolean  safeSearch, xsd__string  lr, 
xsd__string  ie, xsd__string  oe, struct typens__doGoogleSearchResponse * 
out);

//取得google服务器上的缓存页面
extern "C" int _stdcall doGetCachedPage(void *SoapSessionHandle, 
xsd__string  url, struct typens__doGetCachedPageResponse * out );

//拼写检查
extern "C" int _stdcall doSpellingSuggestion(void *SoapSessionHandle, 
xsd__string  phrase, struct typens__doSpellingSuggestionResponse * out );

//取得SOAP错误消息
extern "C" char* _stdcall GetSoapErrorMessage(void *SoapSessionHandle);

//释放SOAP缓存.
extern "C" int _stdcall FreeSoapCache(void *SoapSessionHandle);

//释放Soap连接
extern "C" int _stdcall FreeSoapSession(void **SoapSessionHandle);
google 提供的wsdl文件








  

  
    
            
      
        
          
          
          
          
          
          
          
          
          
          
          
        
      

      
        
          
          
          
          
          
          
          
          
          
        
      
  
      
        
          
             
          
        
      

      
        
          
             
          
        
      

      
        
          
          
        
      

    
   

  
             
  
    
    
  

  
    
  

  
    
    
  

  
    
  

  

  
    
    
    
    
    
    
    
    
    
    
  

  
              
 
  

  

  

    
      
      
    

    
      
      
    

    
      
      
    

  


  

  
    

    
      
      
        
      
      
        
      
    

    
      
      
        
      
      
        
      
    

    
      
      
        
      
      
        
      
    
  

  
  
    
      
    
  

(全文完)
下载本文示例代码
阅读(2359) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~