C++ POCO Library HTTPRequest POST实例
来源:互联网 发布:淘宝旺铺专业版怎么用 编辑:程序博客网 时间:2024/06/08 14:49
#include "Poco/Net/HTTPClientSession.h"
#include "Poco/Net/HTTPRequest.h"
#include "Poco/Net/HTTPResponse.h"
#include <Poco/Net/HTTPCredentials.h>
#include "Poco/Path.h"
#include "Poco/URI.h"
#include "Poco/Net/HTTPServer.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/Net/HTTPServerParams.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Net/HTTPServerParams.h"
#include "Poco/Net/HTMLForm.h"
#include "Poco/Net/PartHandler.h"
#include "Poco/Net/MessageHeader.h"
#include "Poco/Net/ServerSocket.h"
#include "Poco/CountingStream.h"
#include "Poco/NullStream.h"
#include "Poco/StreamCopier.h"
#include "Poco/Exception.h"
#include "Poco/Util/ServerApplication.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/HelpFormatter.h"
#include <iostream>
using Poco::Net::HTTPClientSession;
using Poco::Net::HTTPRequest;
using Poco::Net::HTTPResponse;
using Poco::Net::HTTPMessage;
using Poco::StreamCopier;
using Poco::Path;
using Poco::URI;
using Poco::Exception;
int main(int argc, char** argv)
{
std::vector<Poco::Net::HTTPCookie> cookies;
std::string strURI = "http://localhost/hello/login";
Poco::URI uri(strURI);
std::string path(uri.getPath());
Poco::Net::HTTPClientSession session(uri.getHost(), uri.getPort());
Poco::Net::HTTPRequest req(Poco::Net::HTTPRequest::HTTP_POST, path, Poco::Net::HTTPMessage::HTTP_1_1);
req.setContentType("application/x-www-form-urlencoded");
/*
if(!cookies.empty())
{
NameValueCollection nvc;
std::vector<HTTPCookie>::iterator it = cookies.begin();
for(; it != cookies.end(); ++it)
nvc.add((*it).getName(), (*it).getValue());
req.setCookies(nvc);
}
*/
Poco::Net::HTMLForm form;
form.add("userName", "hello");
form.add("password", "123456");
// Send the request.
form.prepareSubmit(req);
std::ostream& ostr = session.sendRequest(req);
form.write(ostr);
// Receive the response.
Poco::Net::HTTPResponse res;
std::istream& rs = session.receiveResponse(res);
std::string responseText;
Poco::StreamCopier copier;
copier.copyToString(rs, responseText);
std::cout << responseText << std::endl;
res.getCookies( cookies );
system("pause");
return 0;
}
#include "Poco/Net/HTTPRequest.h"
#include "Poco/Net/HTTPResponse.h"
#include <Poco/Net/HTTPCredentials.h>
#include "Poco/Path.h"
#include "Poco/URI.h"
#include "Poco/Net/HTTPServer.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/Net/HTTPServerParams.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Net/HTTPServerParams.h"
#include "Poco/Net/HTMLForm.h"
#include "Poco/Net/PartHandler.h"
#include "Poco/Net/MessageHeader.h"
#include "Poco/Net/ServerSocket.h"
#include "Poco/CountingStream.h"
#include "Poco/NullStream.h"
#include "Poco/StreamCopier.h"
#include "Poco/Exception.h"
#include "Poco/Util/ServerApplication.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/HelpFormatter.h"
#include <iostream>
using Poco::Net::HTTPClientSession;
using Poco::Net::HTTPRequest;
using Poco::Net::HTTPResponse;
using Poco::Net::HTTPMessage;
using Poco::StreamCopier;
using Poco::Path;
using Poco::URI;
using Poco::Exception;
int main(int argc, char** argv)
{
std::vector<Poco::Net::HTTPCookie> cookies;
std::string strURI = "http://localhost/hello/login";
Poco::URI uri(strURI);
std::string path(uri.getPath());
Poco::Net::HTTPClientSession session(uri.getHost(), uri.getPort());
Poco::Net::HTTPRequest req(Poco::Net::HTTPRequest::HTTP_POST, path, Poco::Net::HTTPMessage::HTTP_1_1);
req.setContentType("application/x-www-form-urlencoded");
/*
if(!cookies.empty())
{
NameValueCollection nvc;
std::vector<HTTPCookie>::iterator it = cookies.begin();
for(; it != cookies.end(); ++it)
nvc.add((*it).getName(), (*it).getValue());
req.setCookies(nvc);
}
*/
Poco::Net::HTMLForm form;
form.add("userName", "hello");
form.add("password", "123456");
// Send the request.
form.prepareSubmit(req);
std::ostream& ostr = session.sendRequest(req);
form.write(ostr);
// Receive the response.
Poco::Net::HTTPResponse res;
std::istream& rs = session.receiveResponse(res);
std::string responseText;
Poco::StreamCopier copier;
copier.copyToString(rs, responseText);
std::cout << responseText << std::endl;
res.getCookies( cookies );
system("pause");
return 0;
}
- C++ POCO Library HTTPRequest POST实例
- C++ POCO Library MD5 实例
- java - HttpRequest (get&post)
- HttpRequest使用POST/GET方法
- HttpRequest,HttpResponse,HTTP GET 和 HTTP POST
- HttpRequest的POST和GET的区别
- Poco c ++ 库安装
- c++Poco库
- Poco c++ Library 之xml 的使用
- HttpRequest
- HttpRequest
- httprequest
- HttpRequest
- HttpRequest
- httpRequest
- Poco 1.4.2 HTTPClientSession/HTTPRequest 使用使用代理(proxy)需要注意的一点
- 使用HttpRequest向某网页发送Post请求
- kevinsawicki 的 HttpRequest使用Post方法请求数据
- 关于sqlite的特殊字符转义
- JVM调优总结
- DataGrid Control, EditText Control
- 服务器 同一时刻最大在线人数
- SQL特殊字符处理zz
- C++ POCO Library HTTPRequest POST实例
- Subclassing menu without hooks
- Example of a SysTray App in Win32
- 七大策略轻松搞定企业网络管理
- Ubuntu 下安装Scrapy
- P6800- 配件识真假
- 堆栈,静态变量和普通变量,静态函数和普通函数的区别
- Detecting the Operating System Version
- 获取网卡地址