summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2014-03-06 16:09:25 +0000
committerTim Redfern <tim@eclectronics.org>2014-03-06 16:09:25 +0000
commit3d0177e837863f0e6143c269ee37266b59e69ab1 (patch)
tree408170167edc675350cbe1ebfc36adb97ede2ce8
parent3726e496813e556e88baf5dc8acabe290a1a66f4 (diff)
SSL OK
-rwxr-xr-xmaker1
-rw-r--r--test-instagram/src/testApp.cpp15
-rw-r--r--test_poco_http.c65
3 files changed, 78 insertions, 3 deletions
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<<""<<std::endl;
Poco::Net::HTTPResponse response;
diff --git a/test_poco_http.c b/test_poco_http.c
new file mode 100644
index 0000000..e4c95a5
--- /dev/null
+++ b/test_poco_http.c
@@ -0,0 +1,65 @@
+#include "Poco/Net/HTTPClientSession.h"
+#include "Poco/Net/HTTPRequest.h"
+#include "Poco/Net/HTTPResponse.h"
+#include "Poco/StreamCopier.h"
+#include "Poco/Path.h"
+#include "Poco/URI.h"
+#include "Poco/Exception.h"
+#include <iostream>
+#include <string>
+
+#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] << " <uri>" << endl;
+ cout << " fetches the resource identified by <uri> 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<Poco::Net::InvalidCertificateHandler> 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