tookie009 Temat założony przez niniejszego użytkownika |
[libcurl] ustawienia proxy » 2014-02-10 13:35:57 czesc, mam aplikacje, ktora z curla. Niestety teraz korzystam z jeszcze jednej sieci w szkole i tam lacze sie z netem za pomoca proxy. Chcialbym ta aplikacje tak polepszyc, zebym mogl jej takze w szkole uzywac. Dodalem nsatepujace opcje : curl_easy_setopt( wcurl, CURLOPT_HTTPPROXYTUNNEL, 1 ); curl_easy_setopt( wcurl, CURLOPT_PROXY, "10.100.100.6:8080" );
curl_easy_setopt( wcurl, CURLOPT_PROXYUSERNAME, "c13fipassword" ); curl_easy_setopt( wcurl, CURLOPT_PROXYPASSWORD, "Wiertlo12" ); curl_easy_setopt( wcurl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP ); curl_easy_setopt( wcurl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC );
Ma ktos moze jakos pomysl, co zle robie? Oczywiscie wcurl inicjalizuje potem, wszystko to dzialalo bez proxy teraz dodaje tylko to linijki. Z gory dzieki za pomoc |
|
DejaVu |
» 2014-02-10 13:48:09 |
|
tookie009 Temat założony przez niniejszego użytkownika |
» 2014-02-10 15:12:31 z twojego linku skorzytalem wlasnie tez juz i szczerze powiedziawszy skopiowalem to co tam bylo w miedzyczasie doczytujac w doku. Nie wzialem tylko curl_setopt( $ ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM ); Oczywiscie to jest dla php, ja odpowiednio to modyfikuje jeszcze dla c++- Niestety dalej nie dziala. o ntlm zaraz bede czytal. Dzieki za rade |
|
DejaVu |
» 2014-02-10 15:38:38 curl_easy_setopt( curl, CURLOPT_PROXY, "http://127.0.0.1:8888/" );
Próbowałeś to? |
|
tookie009 Temat założony przez niniejszego użytkownika |
» 2014-02-10 20:40:47 tak, przy czym ja jeszcze musze sie zalogowac i do tego sa takze dwie drogi. Jedna podaje obydwa parametry (haslo i nazwe uzytwkonika) za jednym zamachem. Uzywalem jej, ale nie jestem pewien, czy dobrze rozdzielalem te dwie skladowe (czy ma byc tylko dwukropek czy dwukropek). Druga "osadza" haslo i nazwe uzytkownika osobno. Tu jestem pewien ze nie robie zadnego bledu. EDIT: 2. link jest o curlu w konsoli, takze to tez cos innego, ale sprobuje poszukac cos jeszcze o c++ Edit: Rozwiazanie: curl_easy_setopt( wcurl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM );
faktycznie pomaga. Dziekuje dejavu, bo pewnie bym nigdy nie zauwazyl, ze to przeoczylem ;) Temat zamykam |
|
DejaVu |
» 2014-02-11 10:34:01 Napisz proszę wszystkie linijki potrzebne do poprawnej obsługi proxy :) (pomijając te, które są wykorzystywane do pobierania czegokolwiek). No chyba, że tylko ta jedna linijka załatwia sprawę :) |
|
tookie009 Temat założony przez niniejszego użytkownika |
» 2014-02-11 13:25:35 wkleje wszystkie opcje, ktore ustalam ( niekoniecznie wszystkie sa potrzebne ;))), ale jeszcze sie w to nie wglebialem, najwazniejsze to poki co, ze chodzi). Opcje dotyczace tylko proxy sa po if(proxy). To korzysta z ssl, czyli obsluga stron https. string curl::pobierz( const std::string & url ) { curl_global_init( CURL_GLOBAL_DEFAULT ); if( proxy ) { curl_easy_setopt( wcurl, CURLOPT_HTTPPROXYTUNNEL, 1 ); curl_easy_setopt( wcurl, CURLOPT_PROXY, "10.100.100.6:8080" ); curl_easy_setopt( wcurl, CURLOPT_PROXYUSERNAME, "fdsfdsdsfs" ); curl_easy_setopt( wcurl, CURLOPT_PROXYPASSWORD, "Wiertlo12" ); curl_easy_setopt( wcurl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP ); curl_easy_setopt( wcurl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM ); } curl_easy_setopt( wcurl, CURLOPT_URL, url.c_str() ); curl_easy_setopt( wcurl, CURLOPT_SSL_VERIFYPEER, 0 ); curl_easy_setopt( wcurl, CURLOPT_FOLLOWLOCATION, 1L ); curl_easy_setopt( wcurl, CURLOPT_NOSIGNAL, 1 ); curl_easy_setopt( wcurl, CURLOPT_ACCEPT_ENCODING, "deflate" ); std::stringstream out; curl_easy_setopt( wcurl, CURLOPT_WRITEFUNCTION, write_data ); curl_easy_setopt( wcurl, CURLOPT_WRITEDATA, & out ); CURLcode res = curl_easy_perform( wcurl ); if( res != CURLE_OK ) { fprintf( stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror( res ) ); } return out.str(); }
curl::curl( void ) { wcurl = curl_easy_init(); }
curl::~curl( void ) { curl_easy_cleanup( wcurl ); }
|
|
DejaVu |
» 2014-02-11 14:45:41 No i fajnie :) Ktoś to będzie miał podobny problem będzie miał punkt odniesienia - teraz można zamknąć :) Dzięki! |
|
« 1 » |