From 3d0177e837863f0e6143c269ee37266b59e69ab1 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Thu, 6 Mar 2014 16:09:25 +0000 Subject: SSL OK --- maker | 1 + test-instagram/src/testApp.cpp | 15 ++++++++-- test_poco_http.c | 65 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 3 deletions(-) create mode 100755 maker create mode 100644 test_poco_http.c diff --git a/maker b/maker new file mode 100755 index 0000000..23973a6 --- /dev/null +++ b/maker @@ -0,0 +1 @@ +g++ -o test_poco test_poco_http.c -lPocoNet -lPocoFoundation -lPocoNetSSL diff --git a/test-instagram/src/testApp.cpp b/test-instagram/src/testApp.cpp index 018d468..96cad4a 100644 --- a/test-instagram/src/testApp.cpp +++ b/test-instagram/src/testApp.cpp @@ -4,10 +4,19 @@ //-------------------------------------------------------------- void testApp::setup(){ ofSetVerticalSync(true); - +/* //https://api.instagram.com/v1/media/popular?client_id=CLIENT-ID - const Poco::URI uri("https://api.instagram.com/v1/media/popular"); + instagram + +CLIENT INFO +CLIENT ID c1d74d701fdf4ddd9f8d30ee9e8f944b +CLIENT SECRET 763f2fd6cee84cc8bd8f989e3a7ba788 +WEBSITE URL http://eclectronics.org/test +REDIRECT URI http://127.0.0.1 +*/ + + const Poco::URI uri("https://api.instagram.com/v1/media/popular?client_id=c1d74d701fdf4ddd9f8d30ee9e8f944b"); Poco::Net::Context::Ptr context =new Poco::Net::Context(Poco::Net::Context::CLIENT_USE, "", "","",Poco::Net::Context::VERIFY_RELAXED, 9, true, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"); @@ -15,7 +24,7 @@ void testApp::setup(){ Poco::Net::SSLManager::instance().initializeClient(NULL, pAcceptCertHandler, context); Poco::Net::HTTPSClientSession session(uri.getHost(), uri.getPort(), context ); - Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET,"https://api.instagram.com/v1/media/popular"); + Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET,uri.getPath()); std::ostream& bs =session.sendRequest(request); bs<<""< +#include + +#include "Poco/Net/HTTPSClientSession.h" +#include "Poco/Net/InvalidCertificateHandler.h" +#include "Poco/Net/AcceptCertificateHandler.h" +#include "Poco/Net/SSLManager.h" + +using namespace Poco::Net; +using namespace Poco; +using namespace std; + +int main(int argc, char **argv) +{ + if (argc != 2) + { + cout << "Usage: " << argv[0] << " " << endl; + cout << " fetches the resource identified by and print it" << endl; + return -1; + } + + try + { + // prepare session + URI uri(argv[1]); + + + Poco::Net::Context::Ptr context =new Poco::Net::Context(Poco::Net::Context::CLIENT_USE, "", + "","",Poco::Net::Context::VERIFY_RELAXED, + 9, true, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"); + Poco::SharedPtr pAcceptCertHandler = new Poco::Net::AcceptCertificateHandler(true); + Poco::Net::SSLManager::instance().initializeClient(NULL, pAcceptCertHandler, context); + + HTTPSClientSession session(uri.getHost(), uri.getPort(),context); + // prepare path + string path(uri.getPathAndQuery()); + if (path.empty()) path = "/"; + + // send request + HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1); + session.sendRequest(req); + + // get response + HTTPResponse res; + cout << res.getStatus() << " " << res.getReason() << endl; + + // print response + istream &is = session.receiveResponse(res); + StreamCopier::copyStream(is, cout); + } + catch (Exception &ex) + { + cerr << ex.displayText() << endl; + return -1; + } + + return 0; +} \ No newline at end of file -- cgit v1.2.3