asio 简单的http测试例子

#include <iostream>

#include <fstream>

#include <string>

#include <boost/asio.hpp>

using namespace std;

using namespace boost::asio;

int httptest()

{

io_service iosev;

ip::tcp::socket socket(iosev);

ip::tcp::endpoint ep(ip::address_v4::from_string("192.168.0.88"), 8080);

boost::system::error_code ec;

socket.connect(ep, ec);

if (ec) return -1;

boost::asio::streambuf request;

std::ostream request_stream(&request);

request_stream << "GET /cs/restfull/operationRestfullApi/testGet/ HTTP/1.1\r\n";

request_stream << "Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";

request_stream << "Accept-Language: zh-CN\r\n";

request_stream << "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)\r\n";

request_stream << "Host: " << "192.168.0.88:8080" << "\r\n";

request_stream << "Connection: Keep-Alive\r\n";

boost::asio::write(socket, request);

char buf[1024] = { 0 };

size_t len = socket.read_some(buffer(buf), ec);

ofstream ofs;

ofs.open("httpresponse.txt");

ofs << buf << endl;

ofs.close();

return 0;

}

时间: 2024-10-01 03:51:44

asio 简单的http测试例子的相关文章

一个简单的HTTP测试工具:Send HTTP Tool

我们在调用或者测试测试HTTP协议,或者第三方系统公布的RESTFul Web服务的API的时候,可以有很多种方法,比如,自己在cmd行中,打开telnet,然后拼写HTTP的数据:或者用Fiddler2发送HTTP请求的数据:还有其他方式:直接用telnet命令,拼写HTTP的数据很不方便,而且很容易出错:Fiddler2虽然功能强大,但是个人感觉使用起来有点稍微复杂,特别是对初学者来说.那么有没有一个简单,易于使用,一看就能知道如何使用的发送HTTP请求数据的工具呢?在这个篇文章中,为给大家

一个简单的iBatis入门例子

一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats;import java.util.Date; public class Person { private int id; private String firstName; private String lastName; private double weightInKilograms; private do

实际测试例子+源码分析的方式解剖MyBatis缓存的概念

前言: 前方高能! 本文内容有点多,通过实际测试例子+源码分析的方式解剖MyBatis缓存的概念,对这方面有兴趣的小伙伴请继续看下去~ MyBatis缓存介绍首先看一段wiki上关于MyBatis缓存的介绍: MyBatis支持声明式数据缓存(declarative data caching).当一条SQL语句被标记为"可缓存"后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中读取结果,而不是再次命中数据库.MyBatis提供了默认下基于

一个简单的回调(例子)

1.声明一个回调Interface: public interface CallBack { /** * 执行回调方法 * @param objects 将处理后的结果作为参数返回给回调方法 */ public void execute(Object... objects ); } 2.回调的地方继承回调,实现回调的方法: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRe

Robot Framework 使用1-环境配置及简单网站兼容性测试(转)

0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用的是表格式的测试数据语法,并且实现了关键字驱动测试策略.其测试能力可以使用测试库进行扩展,测试库可以使 用Python或Java方法进行编写,并且用户可以从现有的关键字中扩展出新的关键字. 1.环境配置 Robot Framework 是python开发的开源测试框架,在使用时,需要安装python

第一次编写简单的中间件测试工具(1) - 记一次新员工训练营

去年11月,我加入了N记,紧接着进入新员工训练营. 开始一次简单的中间件测试工具编写任务. 这次训练营体验给我的感觉就是:大公司不愧是大公司,这回我终于可以安心学点核心技术了. 任务: 这个训练营有两个任务,一是熟悉这边的敏捷开发流程:二是在训练营里做一定的编码,用python编写一个测试工具(桩,stub). 我们要做的这个工具,是用来测试我们一种通信设备(B)上运行的程序(某种中间件),这个工具模拟另一种通信设备(A),发送一些按特定协议编码的消息给另一种通信设备B,并能反编码设备B返回的消

ThinkPHP 学习(2)---一个简单的起步的例子

文件夹目录是核心目录ThinkPHP,入口文件是index.php,ThinkPHP里面的文件含义下次详解,接下来是启动一个自己的程序,现在可以修改一下入口文件,一般情况下会将自己的文件放在一个文件夹,我现在是先建立自己的文件夹,一个前台Home文件夹,一个后台文件夹Admin,怎么建立一个结构拥有ThinkPHP功能的文件夹呢?打开index.php,加入如下代码, <?php    //1.确定应用名称Home    define('APP_NAME','Admin');    //2.确定

Robot Framework 简单网站兼容性测试

0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于"验收测试"和"验收测试驱动开发(ATDD)" (会其它文章中会详细介绍ATDD).它使用的是表格式的测试数据语法,并且实现了关键字驱动测试策略.其测试能力可以使用测试库进行扩展,测试库可以使 用Python或Java方法进行编写,并且用户可以从现有的关键字中扩展出新的关键字. 1.简单网站兼容性测试 在本实例中,我们将通过使用RobotFramework,

一个简单的Spring定时器例子 注解方式

首先在applicationContext.xml中增加 文件头中增加一条 xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation 中增加一条 http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd <beans xmlns:task=&quo