diff options
| -rwxr-xr-x | maker | 1 | ||||
| -rw-r--r-- | test-instagram/src/testApp.cpp | 15 | ||||
| -rw-r--r-- | test_poco_http.c | 65 |
3 files changed, 78 insertions, 3 deletions
@@ -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 |
