两种请求都需要包含头文件:
#include <iostream>
#include <string>
#include "Poco/Net/HTTPClientSession.h"
#include "Poco/Net/HTTPRequest.h"
#include "Poco/Net/HTTPResponse.h"
#include "Poco/StreamCopier.h"
#include "Poco/Net/NetException.h"
#include "Poco/Net/HTMLForm.h"
#include "Poco/URI.h"
一、get请求
try { URI url("https://www.baidu.com"); HTTPClientSession session(url.getHost(),url.getPort()); HTTPRequest req(HTTPRequest::HTTP_GET,HTTPRequest::HTTP_1_1); req.set("/s?word=", searhName); session.sendRequest(req); HTTPResponse res; istream & is = session.receiveResponse(res); StreamCopier::copyToString(is, result); } catch(NetException & ex){ result = ex.displayText(); }
二、post请求
1 try{ 2 URI url("http://test.xheart.cn/xheartdevelop05/user/login/validate"); 3 HTTPClientSession session(url.getHost(),url.getPort()); 4 HTTPRequest request(HTTPRequest::HTTP_POST,url.getPath(),HTTPRequest::HTTP_1_1); 5 HTMLForm form; 6 form.add("userName", "1220002"); 7 form.add("password", "1234567"); 8 form.prepareSubmit(request); 9 form.write(session.sendRequest(request)); 10 HTTPResponse res; 11 std::istream & is = session.receiveResponse(res); 12 StreamCopier::copyStream(is, std::cout); 13 14 } 15 catch(NetException & ex){ 16 std::cout << ex.displayText(); 17 }