Http模块
1. 主要功能
- 封装了HTTP请求和响应协议(
HttpRequest和HttpResponse) - 使用nodejs的htpp_parser实现了HTTP请求、响应解析(HttpRequestParser和HttpResponseParser)
- 实现了uri解析(Uri)
- 封装了HTTP会话,负责服务器接收请求和发送响应(HttpSession)
- 封装了用于HTTP服务器的相关方法(HttpServer)
- 封装了客户端发送请求和接收响应及HTTP连接池(HttpConnection和HttpConnectionPool)
2. 功能演示
- 解析请求头
代码语言:javascript
AI代码解释
const char test_request_data[] = "POST /login?aa=bb#sss HTTP/1.1\r\n" "Host: www.sylar.top\r\n" "Content-Length: 10\r\n\r\n" "1234567890"; void test_request(const char *str) { johsonli::http::HttpRequestParser parser; std::string tmp = str; std::cout << "<test_request>:" << std::endl << tmp << std::endl; parser.execute(&tmp[0], tmp.size()); if (parser.hasError()) { std::cout << "parser execute fail" << std::endl; } else { johsonli::http::HttpRequest::ptr req = parser.getData(); std::cout << req->toString() << std::endl; } } int main() { test_request(test_request_data); }- 一个简单的Http服务器
代码语言:javascript
AI代码解释
johnsonli::http::HttpServer::ptr server(new johnsonli::http::HttpServer(true)); johnsonli::Address::ptr addr = johnsonli::Address::LookupAnyIPAddress("0.0.0.0:8020"); while(!server->bind(addr)) { sleep(2); } server.start();- 客户端发送请求
代码语言:javascript
AI代码解释
auto r = johnsonli::http::HttpConnection::DoGet("http://www.baidu.com:80", 300, false); LOG_INFO(g_logger) << "result=" << r->result << " error=" << r->error << " rsp=" << (r->response ? r->response->toString() : "");- 连接池的使用,没1秒发送一个请求
代码语言:javascript
AI代码解释
johnsonli::http::HttpConnectionPool::ptr pool(new johnsonli::http::HttpConnectionPool("www.sylar.top", "", 80, false, 10, 1000 * 30, 5)); johnsonli::IOManager::GetThis()->addTimer(1000, [pool](){ auto r = pool->doGet("/blog/", 300); LOG_INFO(g_logger) << r->toString(); }, true);3. 模块介绍
3.1 HttpRequest和HttpResponse
定义了一些请求方式和HTTP响应状态的枚举方式
代码语言:javascript
AI代码解释
// 请求方法 #define HTTP_METHOD_MAP(XX) \ XX(0, DELETE, DELETE) \ XX(1, GET, GET) \ XX(2, HEAD, HEAD) \ XX(3, POST, POST) \ //.... // HTTP方法枚举 {DELETE = 0, GET = 1, ... } enum class HttpMethod { #define XX(num, name, string) name = num, HTTP_METHOD_MAP(XX) #undef XX INVALID_METHOD }; // 状态码 #define HTTP_STATUS_MAP(XX) \ XX(100, CONTINUE, Continue) \ XX(101, SWITCHING_PROTOCOLS, Switching Protocols) \ XX(102, PROCESSING, Processing) \ XX(200, OK, OK) \ // ... // HTTP状态枚举 {CONTINUE = 100, SWITCHING_PROTOCOLS = 101, ...} enum class HttpStatus { #define XX(code, name, desc) name = code, HTTP_STATUS_MAP(XX) #undef XX };HttpRequest是对HTTP请求协议的封装。包括请求行,请求头,请求消息体等
代码语言:javascript
AI代码解释
class HttpRequest { public: // ... private: HttpMethod m_method; /// HTTP方法 uint8_t m_version; /// HTTP版本 bool m_close; /// 是否自动关闭 bool m_websocket; /// 是否为websocket uint8_t m_parserParamFlag; std::string m_path; /// 请求路径 std::string m_query; /// 请求参数 std::string m_fragment; /// 请求fragment std::string m_body; /// 请求消息体 MapType m_headers; /// 请求头部MAP MapType m_params; /// 请求参数MAP MapType m_cookies; /// 请求Cookie MAP };HttpResponse是对HTTP响应的封装。包括响应行,响应头,响应消息体
代码语言:javascript
AI代码解释
class HttpResponse { public: // ... private: HttpStatus m_status; /// 响应状态 uint8_t m_version; /// 版本 bool m_close; /// 是否自动关闭 bool m_websocket; /// 是否为websocket std::string m_body; /// 响应消息体 std::string m_reason; /// 响应原因 MapType m_headers; /// 响应头部MAP std::vector<std::string> m_cookies; };3.2 HttpRequestParser和HttpResponseParser
- HTTP解析器基于nodejs/http-parser实现,通过套接字读到HTTP消息后将消息内容传递给解析器,解析器通过回调的形式通知调用方HTTP解析的内容。
book.fnfxj.pro/ArTicle/179397.shtml
book.fnfxj.pro/ArTicle/751553.shtml
book.fnfxj.pro/ArTicle/571177.shtml
book.fnfxj.pro/ArTicle/535371.shtml
book.fnfxj.pro/ArTicle/199393.shtml
book.fnfxj.pro/ArTicle/377771.shtml
book.fnfxj.pro/ArTicle/773977.shtml
book.fnfxj.pro/ArTicle/555911.shtml
book.fnfxj.pro/ArTicle/957555.shtml
book.fnfxj.pro/ArTicle/991331.shtml
book.fnfxj.pro/ArTicle/951719.shtml
book.fnfxj.pro/ArTicle/919391.shtml
book.fnfxj.pro/ArTicle/995331.shtml
book.fnfxj.pro/ArTicle/175793.shtml
book.fnfxj.pro/ArTicle/577751.shtml
book.fnfxj.pro/ArTicle/335573.shtml
book.fnfxj.pro/ArTicle/977533.shtml
book.fnfxj.pro/ArTicle/395735.shtml
book.fnfxj.pro/ArTicle/919737.shtml
book.fnfxj.pro/ArTicle/397113.shtml
book.fnfxj.pro/ArTicle/339157.shtml
book.fnfxj.pro/ArTicle/731355.shtml
book.fnfxj.pro/ArTicle/352789.shtml
book.fnfxj.pro/ArTicle/915173.shtml
book.fnfxj.pro/ArTicle/555317.shtml
book.fnfxj.pro/ArTicle/573319.shtml
book.fnfxj.pro/ArTicle/797117.shtml
book.fnfxj.pro/ArTicle/939513.shtml
book.fnfxj.pro/ArTicle/713919.shtml
book.fnfxj.pro/ArTicle/151959.shtml
book.fnfxj.pro/ArTicle/551937.shtml
book.fnfxj.pro/ArTicle/179755.shtml
book.fnfxj.pro/ArTicle/931575.shtml
book.fnfxj.pro/ArTicle/939755.shtml
book.fnfxj.pro/ArTicle/518504.shtml
book.fnfxj.pro/ArTicle/599953.shtml
book.fnfxj.pro/ArTicle/131993.shtml
book.fnfxj.pro/ArTicle/173375.shtml
book.fnfxj.pro/ArTicle/317997.shtml
book.fnfxj.pro/ArTicle/951555.shtml
book.fnfxj.pro/ArTicle/917317.shtml
book.fnfxj.pro/ArTicle/735731.shtml
book.fnfxj.pro/ArTicle/377179.shtml
book.fnfxj.pro/ArTicle/133179.shtml
book.fnfxj.pro/ArTicle/339391.shtml
book.fnfxj.pro/ArTicle/935335.shtml
book.fnfxj.pro/ArTicle/791377.shtml
book.fnfxj.pro/ArTicle/373133.shtml
book.fnfxj.pro/ArTicle/351577.shtml
book.fnfxj.pro/ArTicle/733795.shtml
book.fnfxj.pro/ArTicle/579993.shtml
book.fnfxj.pro/ArTicle/573577.shtml
book.fnfxj.pro/ArTicle/759539.shtml
book.fnfxj.pro/ArTicle/559559.shtml
book.fnfxj.pro/ArTicle/155399.shtml
book.fnfxj.pro/ArTicle/335315.shtml
book.fnfxj.pro/ArTicle/773135.shtml
book.fnfxj.pro/ArTicle/511379.shtml
book.fnfxj.pro/ArTicle/535737.shtml
book.fnfxj.pro/ArTicle/575753.shtml
book.fnfxj.pro/ArTicle/579731.shtml
book.fnfxj.pro/ArTicle/157933.shtml
book.fnfxj.pro/ArTicle/995177.shtml
book.fnfxj.pro/ArTicle/751377.shtml
book.fnfxj.pro/ArTicle/597515.shtml
book.fnfxj.pro/ArTicle/775111.shtml
book.fnfxj.pro/ArTicle/775973.shtml
book.fnfxj.pro/ArTicle/559175.shtml
book.fnfxj.pro/ArTicle/715331.shtml
book.fnfxj.pro/ArTicle/715577.shtml
book.fnfxj.pro/ArTicle/171393.shtml
book.fnfxj.pro/ArTicle/179737.shtml
book.fnfxj.pro/ArTicle/515979.shtml
book.fnfxj.pro/ArTicle/719155.shtml
book.fnfxj.pro/ArTicle/719155.shtml
book.fnfxj.pro/ArTicle/995735.shtml
book.fnfxj.pro/ArTicle/555911.shtml
book.fnfxj.pro/ArTicle/951915.shtml
book.fnfxj.pro/ArTicle/519773.shtml
book.fnfxj.pro/ArTicle/599973.shtml
book.fnfxj.pro/ArTicle/357313.shtml
book.fnfxj.pro/ArTicle/311337.shtml
book.fnfxj.pro/ArTicle/513717.shtml
book.fnfxj.pro/ArTicle/537357.shtml
book.fnfxj.pro/ArTicle/173391.shtml
book.fnfxj.pro/ArTicle/517533.shtml
book.fnfxj.pro/ArTicle/593795.shtml
book.fnfxj.pro/ArTicle/357513.shtml
book.fnfxj.pro/ArTicle/971195.shtml
book.fnfxj.pro/ArTicle/775597.shtml
book.fnfxj.pro/ArTicle/155553.shtml
book.fnfxj.pro/ArTicle/599317.shtml
book.fnfxj.pro/ArTicle/951153.shtml
book.fnfxj.pro/ArTicle/593373.shtml
book.fnfxj.pro/ArTicle/135191.shtml
book.fnfxj.pro/ArTicle/753771.shtml
book.fnfxj.pro/ArTicle/511557.shtml
book.fnfxj.pro/ArTicle/335193.shtml
book.fnfxj.pro/ArTicle/713119.shtml
book.fnfxj.pro/ArTicle/957397.shtml
book.fnfxj.pro/ArTicle/771333.shtml
book.fnfxj.pro/ArTicle/355573.shtml
book.fnfxj.pro/ArTicle/535991.shtml
book.fnfxj.pro/ArTicle/119599.shtml
book.fnfxj.pro/ArTicle/133115.shtml
book.fnfxj.pro/ArTicle/555991.shtml
book.fnfxj.pro/ArTicle/175371.shtml
book.fnfxj.pro/ArTicle/191535.shtml
book.fnfxj.pro/ArTicle/351357.shtml
book.fnfxj.pro/ArTicle/979957.shtml
book.fnfxj.pro/ArTicle/539593.shtml
book.fnfxj.pro/ArTicle/399973.shtml
book.fnfxj.pro/ArTicle/359599.shtml
book.fnfxj.pro/ArTicle/555371.shtml
book.fnfxj.pro/ArTicle/573913.shtml
book.fnfxj.pro/ArTicle/791713.shtml
book.fnfxj.pro/ArTicle/195131.shtml
book.fnfxj.pro/ArTicle/177117.shtml
book.fnfxj.pro/ArTicle/539559.shtml
book.fnfxj.pro/ArTicle/759797.shtml
book.fnfxj.pro/ArTicle/359331.shtml
book.fnfxj.pro/ArTicle/559313.shtml
book.fnfxj.pro/ArTicle/195133.shtml
book.fnfxj.pro/ArTicle/757737.shtml
book.fnfxj.pro/ArTicle/777713.shtml
book.fnfxj.pro/ArTicle/719355.shtml
book.fnfxj.pro/ArTicle/799319.shtml
book.fnfxj.pro/ArTicle/155737.shtml
book.fnfxj.pro/ArTicle/373979.shtml
book.fnfxj.pro/ArTicle/551395.shtml
book.fnfxj.pro/ArTicle/399557.shtml
book.fnfxj.pro/ArTicle/913513.shtml
book.fnfxj.pro/ArTicle/993395.shtml
book.fnfxj.pro/ArTicle/993115.shtml
book.fnfxj.pro/ArTicle/737199.shtml
book.fnfxj.pro/ArTicle/953193.shtml
book.fnfxj.pro/ArTicle/533375.shtml
book.fnfxj.pro/ArTicle/375791.shtml
book.fnfxj.pro/ArTicle/111515.shtml
book.fnfxj.pro/ArTicle/791153.shtml
book.fnfxj.pro/ArTicle/339513.shtml
book.fnfxj.pro/ArTicle/593177.shtml
book.fnfxj.pro/ArTicle/317915.shtml
book.fnfxj.pro/ArTicle/337591.shtml
book.fnfxj.pro/ArTicle/791357.shtml
book.fnfxj.pro/ArTicle/799773.shtml
book.fnfxj.pro/ArTicle/591117.shtml
book.fnfxj.pro/ArTicle/915975.shtml
book.fnfxj.pro/ArTicle/791555.shtml
book.fnfxj.pro/ArTicle/135717.shtml
book.fnfxj.pro/ArTicle/337593.shtml
book.fnfxj.pro/ArTicle/377519.shtml
book.fnfxj.pro/ArTicle/971159.shtml
book.fnfxj.pro/ArTicle/991937.shtml
book.fnfxj.pro/ArTicle/719539.shtml
book.fnfxj.pro/ArTicle/511199.shtml
book.fnfxj.pro/ArTicle/391759.shtml
book.fnfxj.pro/ArTicle/955519.shtml
book.fnfxj.pro/ArTicle/591319.shtml
book.fnfxj.pro/ArTicle/739511.shtml
book.fnfxj.pro/ArTicle/775191.shtml
book.fnfxj.pro/ArTicle/311177.shtml
book.fnfxj.pro/ArTicle/597737.shtml
book.fnfxj.pro/ArTicle/537577.shtml
book.fnfxj.pro/ArTicle/557759.shtml
book.fnfxj.pro/ArTicle/153973.shtml
book.fnfxj.pro/ArTicle/577777.shtml
book.fnfxj.pro/ArTicle/755351.shtml
book.fnfxj.pro/ArTicle/771595.shtml
book.fnfxj.pro/ArTicle/597755.shtml
book.fnfxj.pro/ArTicle/591975.shtml
book.fnfxj.pro/ArTicle/975191.shtml
book.fnfxj.pro/ArTicle/995779.shtml
book.fnfxj.pro/ArTicle/373199.shtml
book.fnfxj.pro/ArTicle/111995.shtml
book.fnfxj.pro/ArTicle/959571.shtml
book.fnfxj.pro/ArTicle/713793.shtml
book.fnfxj.pro/ArTicle/933517.shtml
book.fnfxj.pro/ArTicle/111939.shtml
book.fnfxj.pro/ArTicle/977911.shtml
book.fnfxj.pro/ArTicle/159755.shtml
book.fnfxj.pro/ArTicle/799797.shtml
book.fnfxj.pro/ArTicle/597157.shtml
book.fnfxj.pro/ArTicle/931751.shtml
book.fnfxj.pro/ArTicle/399911.shtml
book.fnfxj.pro/ArTicle/351115.shtml
book.fnfxj.pro/ArTicle/151535.shtml
book.fnfxj.pro/ArTicle/557759.shtml
book.fnfxj.pro/ArTicle/573159.shtml
book.fnfxj.pro/ArTicle/373719.shtml
book.fnfxj.pro/ArTicle/975737.shtml
book.fnfxj.pro/ArTicle/959757.shtml
book.fnfxj.pro/ArTicle/955311.shtml
book.fnfxj.pro/ArTicle/557115.shtml
book.fnfxj.pro/ArTicle/931753.shtml
book.fnfxj.pro/ArTicle/751759.shtml
book.fnfxj.pro/ArTicle/391193.shtml
book.fnfxj.pro/ArTicle/379379.shtml
book.fnfxj.pro/ArTicle/393777.shtml
book.fnfxj.pro/ArTicle/553917.shtml
book.zhptv.pro/ArTicle/593537.shtml
book.zhptv.pro/ArTicle/975539.shtml
book.zhptv.pro/ArTicle/533571.shtml
book.zhptv.pro/ArTicle/799317.shtml
book.zhptv.pro/ArTicle/535333.shtml
book.zhptv.pro/ArTicle/571153.shtml
book.zhptv.pro/ArTicle/373991.shtml
book.zhptv.pro/ArTicle/771155.shtml
book.zhptv.pro/ArTicle/997533.shtml
book.zhptv.pro/ArTicle/117593.shtml
book.zhptv.pro/ArTicle/191799.shtml
book.zhptv.pro/ArTicle/779917.shtml
book.zhptv.pro/ArTicle/739395.shtml
book.zhptv.pro/ArTicle/933539.shtml
book.zhptv.pro/ArTicle/753751.shtml
book.zhptv.pro/ArTicle/553795.shtml
book.zhptv.pro/ArTicle/179917.shtml
book.zhptv.pro/ArTicle/955577.shtml
book.zhptv.pro/ArTicle/119999.shtml
book.zhptv.pro/ArTicle/991911.shtml
book.zhptv.pro/ArTicle/557595.shtml
book.zhptv.pro/ArTicle/599139.shtml
book.zhptv.pro/ArTicle/973935.shtml
book.zhptv.pro/ArTicle/971533.shtml
book.zhptv.pro/ArTicle/995119.shtml
book.zhptv.pro/ArTicle/957353.shtml
book.zhptv.pro/ArTicle/731979.shtml
book.zhptv.pro/ArTicle/579175.shtml
book.zhptv.pro/ArTicle/155957.shtml
book.zhptv.pro/ArTicle/179115.shtml
book.zhptv.pro/ArTicle/335731.shtml
book.zhptv.pro/ArTicle/171553.shtml
book.zhptv.pro/ArTicle/917737.shtml
book.zhptv.pro/ArTicle/331533.shtml
book.zhptv.pro/ArTicle/599515.shtml
book.zhptv.pro/ArTicle/133773.shtml
book.zhptv.pro/ArTicle/793139.shtml
book.zhptv.pro/ArTicle/191177.shtml
book.zhptv.pro/ArTicle/637271.shtml
book.zhptv.pro/ArTicle/373939.shtml
book.zhptv.pro/ArTicle/577977.shtml
book.zhptv.pro/ArTicle/991353.shtml
book.zhptv.pro/ArTicle/628622.shtml
book.zhptv.pro/ArTicle/119373.shtml
book.zhptv.pro/ArTicle/715771.shtml
book.zhptv.pro/ArTicle/539171.shtml
book.zhptv.pro/ArTicle/351115.shtml
book.zhptv.pro/ArTicle/571119.shtml
book.zhptv.pro/ArTicle/159131.shtml
book.zhptv.pro/ArTicle/335757.shtml
book.zhptv.pro/ArTicle/195379.shtml
book.zhptv.pro/ArTicle/779131.shtml
book.zhptv.pro/ArTicle/351951.shtml
book.zhptv.pro/ArTicle/955911.shtml
book.zhptv.pro/ArTicle/577319.shtml
book.zhptv.pro/ArTicle/155131.shtml
book.zhptv.pro/ArTicle/595339.shtml
book.zhptv.pro/ArTicle/779511.shtml
book.zhptv.pro/ArTicle/331397.shtml
book.zhptv.pro/ArTicle/040024.shtml
book.zhptv.pro/ArTicle/119557.shtml
book.zhptv.pro/ArTicle/111319.shtml
book.zhptv.pro/ArTicle/971337.shtml
book.zhptv.pro/ArTicle/733399.shtml
book.zhptv.pro/ArTicle/311319.shtml
book.zhptv.pro/ArTicle/537777.shtml
book.zhptv.pro/ArTicle/153591.shtml
book.zhptv.pro/ArTicle/951937.shtml
book.zhptv.pro/ArTicle/115579.shtml
book.zhptv.pro/ArTicle/313993.shtml
book.zhptv.pro/ArTicle/371171.shtml
book.zhptv.pro/ArTicle/759993.shtml
book.zhptv.pro/ArTicle/313551.shtml
book.zhptv.pro/ArTicle/359731.shtml
book.zhptv.pro/ArTicle/264820.shtml
book.zhptv.pro/ArTicle/715193.shtml
book.zhptv.pro/ArTicle/991751.shtml
book.zhptv.pro/ArTicle/711517.shtml
book.zhptv.pro/ArTicle/799311.shtml
book.zhptv.pro/ArTicle/084024.shtml
book.zhptv.pro/ArTicle/359959.shtml
book.zhptv.pro/ArTicle/913793.shtml
book.zhptv.pro/ArTicle/959919.shtml
book.zhptv.pro/ArTicle/020602.shtml
book.zhptv.pro/ArTicle/599995.shtml
book.zhptv.pro/ArTicle/119533.shtml
book.zhptv.pro/ArTicle/559515.shtml
book.zhptv.pro/ArTicle/973193.shtml
book.zhptv.pro/ArTicle/573511.shtml
book.zhptv.pro/ArTicle/733751.shtml
book.zhptv.pro/ArTicle/915739.shtml
book.zhptv.pro/ArTicle/353597.shtml
book.zhptv.pro/ArTicle/557759.shtml
book.zhptv.pro/ArTicle/131153.shtml
book.zhptv.pro/ArTicle/797717.shtml
book.zhptv.pro/ArTicle/155177.shtml
book.zhptv.pro/ArTicle/171513.shtml
book.zhptv.pro/ArTicle/331553.shtml
book.zhptv.pro/ArTicle/577313.shtml
book.zhptv.pro/ArTicle/993399.shtml
book.zhptv.pro/ArTicle/915153.shtml
book.zhptv.pro/ArTicle/595559.shtml
book.zhptv.pro/ArTicle/739157.shtml
book.zhptv.pro/ArTicle/393991.shtml
book.zhptv.pro/ArTicle/220866.shtml
book.zhptv.pro/ArTicle/951395.shtml
book.zhptv.pro/ArTicle/917751.shtml
book.zhptv.pro/ArTicle/557195.shtml
book.zhptv.pro/ArTicle/939593.shtml
book.zhptv.pro/ArTicle/399997.shtml
book.zhptv.pro/ArTicle/799159.shtml
book.zhptv.pro/ArTicle/913979.shtml
book.zhptv.pro/ArTicle/935939.shtml
book.zhptv.pro/ArTicle/511052.shtml
book.zhptv.pro/ArTicle/795393.shtml
book.zhptv.pro/ArTicle/133171.shtml
book.zhptv.pro/ArTicle/173533.shtml
book.zhptv.pro/ArTicle/731333.shtml
book.zhptv.pro/ArTicle/515159.shtml
book.zhptv.pro/ArTicle/117157.shtml
book.zhptv.pro/ArTicle/393119.shtml
book.zhptv.pro/ArTicle/397513.shtml
book.zhptv.pro/ArTicle/997397.shtml
book.zhptv.pro/ArTicle/977337.shtml
book.zhptv.pro/ArTicle/399711.shtml
book.zhptv.pro/ArTicle/597757.shtml
book.zhptv.pro/ArTicle/799199.shtml
book.zhptv.pro/ArTicle/731535.shtml
book.zhptv.pro/ArTicle/317115.shtml
book.zhptv.pro/ArTicle/991933.shtml
book.zhptv.pro/ArTicle/531535.shtml
book.zhptv.pro/ArTicle/808815.shtml
book.zhptv.pro/ArTicle/731317.shtml
book.zhptv.pro/ArTicle/917593.shtml
book.zhptv.pro/ArTicle/135377.shtml
book.zhptv.pro/ArTicle/111933.shtml
book.zhptv.pro/ArTicle/159373.shtml
book.zhptv.pro/ArTicle/991395.shtml
book.zhptv.pro/ArTicle/977519.shtml
book.zhptv.pro/ArTicle/737955.shtml
book.zhptv.pro/ArTicle/153557.shtml
book.zhptv.pro/ArTicle/039889.shtml
book.zhptv.pro/ArTicle/735917.shtml
book.zhptv.pro/ArTicle/715715.shtml
book.zhptv.pro/ArTicle/111797.shtml
book.zhptv.pro/ArTicle/951957.shtml
book.zhptv.pro/ArTicle/113795.shtml
book.zhptv.pro/ArTicle/959353.shtml
book.zhptv.pro/ArTicle/665765.shtml
book.zhptv.pro/ArTicle/119111.shtml
book.zhptv.pro/ArTicle/535313.shtml
book.zhptv.pro/ArTicle/331557.shtml
book.zhptv.pro/ArTicle/759191.shtml
book.zhptv.pro/ArTicle/533395.shtml
book.zhptv.pro/ArTicle/799733.shtml
book.zhptv.pro/ArTicle/115751.shtml
book.zhptv.pro/ArTicle/262467.shtml
book.zhptv.pro/ArTicle/771598.shtml
book.zhptv.pro/ArTicle/517759.shtml
book.zhptv.pro/ArTicle/117933.shtml
book.zhptv.pro/ArTicle/195753.shtml
book.zhptv.pro/ArTicle/335937.shtml
book.zhptv.pro/ArTicle/490228.shtml
book.zhptv.pro/ArTicle/775573.shtml
book.zhptv.pro/ArTicle/515339.shtml
book.zhptv.pro/ArTicle/329137.shtml
book.zhptv.pro/ArTicle/777799.shtml
book.zhptv.pro/ArTicle/825911.shtml
book.zhptv.pro/ArTicle/371531.shtml
book.zhptv.pro/ArTicle/577173.shtml
book.zhptv.pro/ArTicle/959559.shtml
book.zhptv.pro/ArTicle/913915.shtml
book.zhptv.pro/ArTicle/753939.shtml
book.zhptv.pro/ArTicle/133951.shtml
book.zhptv.pro/ArTicle/955739.shtml
book.zhptv.pro/ArTicle/753959.shtml
book.zhptv.pro/ArTicle/795195.shtml
book.zhptv.pro/ArTicle/757317.shtml
book.zhptv.pro/ArTicle/977113.shtml
book.zhptv.pro/ArTicle/195399.shtml
book.zhptv.pro/ArTicle/597393.shtml
book.zhptv.pro/ArTicle/119575.shtml
book.zhptv.pro/ArTicle/519553.shtml
book.zhptv.pro/ArTicle/153315.shtml
book.zhptv.pro/ArTicle/317539.shtml
book.zhptv.pro/ArTicle/751715.shtml
book.zhptv.pro/ArTicle/173850.shtml
book.zhptv.pro/ArTicle/553995.shtml
book.zhptv.pro/ArTicle/038298.shtml
book.zhptv.pro/ArTicle/513395.shtml
book.zhptv.pro/ArTicle/917791.shtml
book.zhptv.pro/ArTicle/357313.shtml
book.zhptv.pro/ArTicle/915773.shtml
book.zhptv.pro/ArTicle/339577.shtml
book.zhptv.pro/ArTicle/599797.shtml
book.zhptv.pro/ArTicle/717157.shtml
book.zhptv.pro/ArTicle/715135.shtml
book.zhptv.pro/ArTicle/719779.shtml
book.zhptv.pro/ArTicle/535971.shtml
book.zhptv.pro/ArTicle/955313.shtml
book.dhzbd.pro/ArTicle/355313.shtml
book.dhzbd.pro/ArTicle/915775.shtml
book.dhzbd.pro/ArTicle/531937.shtml
book.dhzbd.pro/ArTicle/353737.shtml
book.dhzbd.pro/ArTicle/025741.shtml
book.dhzbd.pro/ArTicle/955739.shtml
book.dhzbd.pro/ArTicle/375357.shtml
book.dhzbd.pro/ArTicle/397115.shtml
book.dhzbd.pro/ArTicle/991153.shtml
book.dhzbd.pro/ArTicle/333939.shtml
book.dhzbd.pro/ArTicle/135877.shtml
book.dhzbd.pro/ArTicle/733753.shtml
book.dhzbd.pro/ArTicle/917177.shtml
book.dhzbd.pro/ArTicle/015555.shtml
book.dhzbd.pro/ArTicle/113502.shtml
book.dhzbd.pro/ArTicle/317331.shtml
book.dhzbd.pro/ArTicle/579935.shtml
book.dhzbd.pro/ArTicle/755317.shtml
book.dhzbd.pro/ArTicle/791531.shtml
book.dhzbd.pro/ArTicle/953517.shtml
book.dhzbd.pro/ArTicle/511979.shtml
book.dhzbd.pro/ArTicle/151713.shtml
book.dhzbd.pro/ArTicle/359848.shtml
book.dhzbd.pro/ArTicle/559771.shtml
book.dhzbd.pro/ArTicle/353773.shtml
book.dhzbd.pro/ArTicle/375177.shtml
book.dhzbd.pro/ArTicle/519377.shtml
book.dhzbd.pro/ArTicle/559159.shtml
book.dhzbd.pro/ArTicle/820497.shtml
book.dhzbd.pro/ArTicle/175339.shtml
book.dhzbd.pro/ArTicle/157777.shtml
book.dhzbd.pro/ArTicle/575773.shtml
book.dhzbd.pro/ArTicle/991557.shtml
book.dhzbd.pro/ArTicle/577953.shtml
book.dhzbd.pro/ArTicle/595179.shtml
book.dhzbd.pro/ArTicle/375199.shtml
book.dhzbd.pro/ArTicle/719111.shtml
book.dhzbd.pro/ArTicle/151375.shtml
book.dhzbd.pro/ArTicle/352265.shtml
book.dhzbd.pro/ArTicle/779559.shtml
book.dhzbd.pro/ArTicle/041831.shtml
book.dhzbd.pro/ArTicle/535559.shtml
book.dhzbd.pro/ArTicle/600243.shtml
book.dhzbd.pro/ArTicle/356571.shtml
book.dhzbd.pro/ArTicle/773559.shtml
book.dhzbd.pro/ArTicle/719159.shtml
book.dhzbd.pro/ArTicle/333173.shtml
book.dhzbd.pro/ArTicle/191377.shtml
book.dhzbd.pro/ArTicle/355913.shtml
book.dhzbd.pro/ArTicle/917311.shtml
book.dhzbd.pro/ArTicle/511757.shtml
book.dhzbd.pro/ArTicle/797599.shtml
book.dhzbd.pro/ArTicle/091695.shtml
book.dhzbd.pro/ArTicle/337373.shtml
book.dhzbd.pro/ArTicle/387126.shtml
book.dhzbd.pro/ArTicle/777337.shtml
book.dhzbd.pro/ArTicle/517955.shtml
book.dhzbd.pro/ArTicle/977559.shtml
book.dhzbd.pro/ArTicle/573319.shtml
book.dhzbd.pro/ArTicle/135993.shtml
book.dhzbd.pro/ArTicle/719351.shtml
book.dhzbd.pro/ArTicle/395739.shtml
book.dhzbd.pro/ArTicle/519551.shtml
book.dhzbd.pro/ArTicle/793399.shtml
book.dhzbd.pro/ArTicle/919799.shtml
book.dhzbd.pro/ArTicle/706259.shtml
book.dhzbd.pro/ArTicle/997791.shtml
book.dhzbd.pro/ArTicle/177995.shtml
book.dhzbd.pro/ArTicle/731337.shtml
book.dhzbd.pro/ArTicle/799335.shtml
book.dhzbd.pro/ArTicle/216963.shtml
book.dhzbd.pro/ArTicle/593373.shtml
book.dhzbd.pro/ArTicle/117355.shtml
book.dhzbd.pro/ArTicle/591377.shtml
book.dhzbd.pro/ArTicle/911591.shtml
book.dhzbd.pro/ArTicle/111533.shtml
book.dhzbd.pro/ArTicle/111355.shtml
book.dhzbd.pro/ArTicle/573755.shtml
book.dhzbd.pro/ArTicle/175557.shtml
book.dhzbd.pro/ArTicle/595359.shtml
book.dhzbd.pro/ArTicle/997148.shtml
book.dhzbd.pro/ArTicle/030063.shtml
book.dhzbd.pro/ArTicle/911933.shtml
book.dhzbd.pro/ArTicle/153377.shtml
book.dhzbd.pro/ArTicle/513954.shtml
book.dhzbd.pro/ArTicle/777317.shtml
book.dhzbd.pro/ArTicle/995971.shtml
book.dhzbd.pro/ArTicle/791757.shtml
book.dhzbd.pro/ArTicle/993339.shtml
book.dhzbd.pro/ArTicle/776304.shtml
book.dhzbd.pro/ArTicle/191353.shtml
book.dhzbd.pro/ArTicle/955195.shtml
book.dhzbd.pro/ArTicle/759159.shtml
book.dhzbd.pro/ArTicle/799378.shtml
book.dhzbd.pro/ArTicle/393733.shtml
book.dhzbd.pro/ArTicle/157599.shtml
book.dhzbd.pro/ArTicle/335931.shtml
book.dhzbd.pro/ArTicle/797911.shtml
book.dhzbd.pro/ArTicle/645596.shtml
book.dhzbd.pro/ArTicle/157379.shtml
book.dhzbd.pro/ArTicle/731829.shtml
book.dhzbd.pro/ArTicle/535795.shtml
book.dhzbd.pro/ArTicle/355551.shtml
book.dhzbd.pro/ArTicle/555713.shtml
book.dhzbd.pro/ArTicle/571951.shtml
book.dhzbd.pro/ArTicle/331733.shtml
book.dhzbd.pro/ArTicle/373913.shtml
book.dhzbd.pro/ArTicle/139551.shtml
book.dhzbd.pro/ArTicle/575757.shtml
book.dhzbd.pro/ArTicle/991139.shtml
book.dhzbd.pro/ArTicle/063665.shtml
book.dhzbd.pro/ArTicle/311559.shtml
book.dhzbd.pro/ArTicle/155339.shtml
book.dhzbd.pro/ArTicle/758836.shtml
book.dhzbd.pro/ArTicle/919317.shtml
book.dhzbd.pro/ArTicle/931571.shtml
book.dhzbd.pro/ArTicle/733151.shtml
book.dhzbd.pro/ArTicle/513119.shtml
book.dhzbd.pro/ArTicle/119977.shtml
book.dhzbd.pro/ArTicle/173995.shtml
book.dhzbd.pro/ArTicle/173593.shtml
book.dhzbd.pro/ArTicle/915775.shtml
book.dhzbd.pro/ArTicle/759939.shtml
book.dhzbd.pro/ArTicle/975139.shtml
book.dhzbd.pro/ArTicle/535919.shtml
book.dhzbd.pro/ArTicle/791195.shtml
book.dhzbd.pro/ArTicle/537339.shtml
book.dhzbd.pro/ArTicle/575171.shtml
book.dhzbd.pro/ArTicle/585445.shtml
book.dhzbd.pro/ArTicle/197733.shtml
book.dhzbd.pro/ArTicle/775751.shtml
book.dhzbd.pro/ArTicle/535911.shtml
book.dhzbd.pro/ArTicle/339117.shtml
book.dhzbd.pro/ArTicle/371131.shtml
book.dhzbd.pro/ArTicle/565951.shtml
book.dhzbd.pro/ArTicle/159971.shtml
book.dhzbd.pro/ArTicle/111753.shtml
book.dhzbd.pro/ArTicle/579111.shtml
book.dhzbd.pro/ArTicle/933175.shtml
book.dhzbd.pro/ArTicle/933577.shtml
book.dhzbd.pro/ArTicle/720813.shtml
book.dhzbd.pro/ArTicle/205516.shtml
book.dhzbd.pro/ArTicle/397513.shtml
book.dhzbd.pro/ArTicle/195357.shtml
book.dhzbd.pro/ArTicle/717317.shtml
book.dhzbd.pro/ArTicle/911719.shtml
book.dhzbd.pro/ArTicle/307339.shtml
book.dhzbd.pro/ArTicle/713551.shtml
book.dhzbd.pro/ArTicle/179993.shtml
book.dhzbd.pro/ArTicle/335971.shtml
book.dhzbd.pro/ArTicle/971711.shtml
book.dhzbd.pro/ArTicle/911735.shtml
book.dhzbd.pro/ArTicle/773959.shtml
book.dhzbd.pro/ArTicle/089163.shtml
book.dhzbd.pro/ArTicle/359159.shtml
book.dhzbd.pro/ArTicle/771919.shtml
book.dhzbd.pro/ArTicle/171111.shtml
book.dhzbd.pro/ArTicle/117317.shtml
book.dhzbd.pro/ArTicle/135119.shtml
book.dhzbd.pro/ArTicle/779135.shtml
book.dhzbd.pro/ArTicle/955777.shtml
book.dhzbd.pro/ArTicle/793117.shtml
book.dhzbd.pro/ArTicle/662342.shtml
book.dhzbd.pro/ArTicle/713397.shtml
book.dhzbd.pro/ArTicle/357799.shtml
book.dhzbd.pro/ArTicle/595771.shtml
book.dhzbd.pro/ArTicle/472074.shtml
book.dhzbd.pro/ArTicle/551379.shtml
book.dhzbd.pro/ArTicle/311131.shtml
book.dhzbd.pro/ArTicle/975555.shtml
book.dhzbd.pro/ArTicle/175333.shtml
book.dhzbd.pro/ArTicle/777335.shtml
book.dhzbd.pro/ArTicle/331155.shtml
book.dhzbd.pro/ArTicle/359711.shtml
book.dhzbd.pro/ArTicle/115119.shtml
book.dhzbd.pro/ArTicle/331371.shtml
book.dhzbd.pro/ArTicle/339317.shtml
book.dhzbd.pro/ArTicle/559799.shtml
book.dhzbd.pro/ArTicle/584158.shtml
book.dhzbd.pro/ArTicle/993719.shtml
book.dhzbd.pro/ArTicle/939991.shtml
book.dhzbd.pro/ArTicle/195991.shtml
book.dhzbd.pro/ArTicle/791993.shtml
book.dhzbd.pro/ArTicle/175551.shtml
book.dhzbd.pro/ArTicle/137539.shtml
book.dhzbd.pro/ArTicle/379797.shtml
book.dhzbd.pro/ArTicle/959511.shtml
book.dhzbd.pro/ArTicle/737171.shtml
book.dhzbd.pro/ArTicle/951511.shtml
book.dhzbd.pro/ArTicle/557595.shtml
book.dhzbd.pro/ArTicle/513193.shtml
book.dhzbd.pro/ArTicle/999959.shtml
book.dhzbd.pro/ArTicle/195537.shtml
book.dhzbd.pro/ArTicle/975135.shtml
book.dhzbd.pro/ArTicle/108059.shtml
book.dhzbd.pro/ArTicle/135513.shtml
book.dhzbd.pro/ArTicle/579911.shtml
book.dhzbd.pro/ArTicle/943684.shtml
book.dhzbd.pro/ArTicle/553872.shtml
book.dhzbd.pro/ArTicle/771137.shtml