用ACE从Web服务器抓数据
来源:互联网 发布:精油手工皂 知乎 编辑:程序博客网 时间:2024/05/18 01:20
前面已经说了VS2008写ACE代码的配置方法,下面这段代码是用ACE从百度的Web服务器取网页数据的代码
#include "ace/INET_Addr.h"
#include "ace/SOCK_Connector.h"
#include "ace/SOCK_Stream.h"
#include "ace/Time_Value.h"
int main (int argc, char *argv[])
{
const char *pathname = "index.html";
const char *server_hostname = "www.baidu.com";
char *header[4];
header[0] = "GET http://www.baidu.com HTTP/1.1/r/n";
header[1] = "Host: www.baidu.com/r/n";
header[2] = "Connection: Close/r/n";
header[3] = "/r/n";
ACE_SOCK_Connector connector;
ACE_SOCK_Stream peer;
ACE_INET_Addr peer_addr;
if (peer_addr.set(80, server_hostname) == -1)
{
return 1;
}
if (connector.connect(peer, peer_addr) == -1)
{
return 1;
}
char buf[BUFSIZ];
iovec iov[4];
for (int i = 0; i < 4; i++)
{
iov[i].iov_base = header[i];
iov[i].iov_len = strlen(header[i]);
}
// Wait no more than 5 seconds to send or receive data.
ACE_Time_Value timeout(5);
peer.sendv_n(iov, 4, &timeout);
ssize_t lenRecv = peer.recv(buf, sizeof buf, &timeout);
while (lenRecv > 0)
{
ACE::write_n(ACE_STDOUT, buf, lenRecv);
lenRecv = peer.recv(buf, sizeof buf, &timeout);
}
int result_close = peer.close();
system("pause");
return result_close ? 1 : 0;
}
- 用ACE从Web服务器抓数据
- 用ACE从Web服务器抓数据
- Fiddler服务器数据抓包
- 用ACE写网络服务器
- 用ACE库实现服务器
- 从EXCEL抓数据到mysql
- 用socket来从服务器拿数据
- 从服务器暴露数据
- 从服务器获取数据
- 从服务器请求数据
- [ACE程序员教程笔记]UDP数据接收服务器
- 服务器数据抓包排查数据收发是否正常
- 从wireshark抓的SSL报文里导出服务器证书
- 对于web api 从页面post数据到web api,如果用ajax,则可以成功上传到服务器,需要一个类来存储那些变量
- Android从零单排之手机客户端http获取Web服务器数据实例
- 万能糖果公司web应用——从服务器获取数据
- Web应用从服务器主动推送数据到客户端有哪些方式?
- 手机App通过http协议从web服务器上获取json格式的数据
- Ruby范例2-控制语句
- j2me模板,音乐的控制
- 代码规范——好的代码里只要一个return语句
- Get a screen capture and save it as a JPEG ,java实现抓屏功能
- 费解,为什么申请的内存没有被释放?约瑟夫环
- 用ACE从Web服务器抓数据
- 女生看了会哭,男生会沉默
- 螺旋队列(由里向外)
- MySQL 存储过程的基本用法
- 关于#define语句后面加括号与不加括号的区别
- 枚举类型(C和C++中的差别)
- MinGW下简单编译FFmpeg
- MTK socket 小结 3
- 操作系统之线程