#include <iostream>
#include <string>
#include <fstream>
#include "curl/curl.h"
#include "curl_http.h"
using namespace std;
using namespace curl_http;
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "wldap32.lib")
int main()
{
// global init
curl_global_init(CURL_GLOBAL_ALL);
//get post list
{
CurlHttp http;
BuffV getResp;
string getUrlStr = "https://blog.hatena.ne.jp/Linuxbee/Linuxbee.hatenablog.com/atom/entry";
auto res = http.Request(0, getUrlStr, &getResp);
cout << "GET-----------------------------------------:\n" << getResp.c_str() << endl;
ofstream out;
out.open("posts.xml", ios::out);
if (out.is_open())
{
out.write(getResp.c_str(), getResp.Size());
}
}
// add new post
{
string postData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<entry xmlns=\"http://www.w3.org/2005/Atom\" xmlns:app=\"http://www.w3.org/2007/app\">\n<title>123458 </title><author><name>name</name></author><content type=\"text/plain\">**12456</content><updated>2008-01-01T00:00:00</updated><category term =\"Scala\" /><app:control><app:draft>{yes|no}</app:draft></app:control></entry>";
CurlHttp http;
BuffV postResp;
string postUrlStr = "https://blog.hatena.ne.jp/Linuxbee/Linuxbee.hatenablog.com/atom/entry";
http.SetUserDefineParams4Post(postData);
auto res = http.Request(1, postUrlStr, &postResp);
cout << "POST-----------------------------------------:\n" << postResp.c_str() << endl;
}
// update post by id
{
string putData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<entry xmlns=\"http://www.w3.org/2005/Atom\" xmlns:app=\"http://www.w3.org/2007/app\">\n<title>123458 </title><author><name>name</name></author><content type=\"text/plain\">**12456</content><updated>2008-01-01T00:00:00</updated><category term =\"Scala\" /><app:control><app:draft>{yes|no}</app:draft></app:control></entry>";
CurlHttp http;
BuffV putResp;
string putUrlStr = "https://blog.hatena.ne.jp/Linuxbee/Linuxbee.hatenablog.com/atom/entry/4207112889912779563";
http.SetUserDefineParams4Post(putData);
auto res = http.Request(2, putUrlStr, &putResp);
cout << "PUT-----------------------------------------:\n" << putResp.c_str() << endl;
}
// delete post by id
{
CurlHttp http;
BuffV deleteResp;
string deleteUrlStr = "https://blog.hatena.ne.jp/Linuxbee/Linuxbee.hatenablog.com/atom/entry/4207112889912779563";
auto res = http.Request(3, deleteUrlStr, &deleteResp);
cout << "DELETE-----------------------------------------:\n" << deleteResp.c_str() << endl;
}
// global cleanup
curl_global_cleanup();
system("pause");
return 0;
}