praegune kellaaeg 20.06.2025 23:53:48
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
virus152
HV vaatleja

liitunud: 05.03.2009
|
24.07.2009 23:01:11
Päring |
|
|
Tulles vastu ühe teatava moderaatori nõudmistele, siis küsiks niimoodi. Kas mõni lahke AHV oskab ehk öelda, kust ma saaksin materjale HTTPSi kasutava serveriga suhtlemise kohta? Juures võiks olla mingid näiteprogrammid/-skriptid. Ise pole suutnud midagi ammendavat leida.
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
airm
HV Guru
liitunud: 26.02.2003
|
24.07.2009 23:24:58
|
|
|
Sa ei pea selle pärast vaeva nägema.
See https töötab "by dedault".
https -i kasutades toimuvad sinu eest mõned proceduurid,
mille viivad läbi brauser ja server. Ja ongi kõik.
https protokolli kasutades näed lisaks ainult rohkem keskkonnamuutujaid, seoses https protokolliga...
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
50 |
|
tagasi üles |
|
 |
virus152
HV vaatleja

liitunud: 05.03.2009
|
24.07.2009 23:53:56
|
|
|
Probleem ongi selles, et oma praeguses projektis oleks vaja brauseri pool ise implementeerida, aga kuna ma varem pole veebiprogemisega absoluutselt tegelenud, siis on suht tühi koht. Niipalju olen leidnud, et openssl tuleks kusagilt maalt mängu tuua.
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
25.07.2009 00:26:24
|
|
|
Mis keeles projekt toimib ? Enamus keelte puhul on juba olemas vastavad library'd, mis oskavad https'i rääkida.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
virus152
HV vaatleja

liitunud: 05.03.2009
|
25.07.2009 12:49:26
|
|
|
Ülejäänud osa teen C++'s, aga kui mõnes muus keeles on asi eriti lihtsaks tehtud, siis ei ütleks ka ära.
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
virus152
HV vaatleja

liitunud: 05.03.2009
|
28.07.2009 23:13:01
|
|
|
Tänud! Eks hakkan katsetama.
Mingil põhjusel olen selle teegi kahe silma vahele jätnud, kuigi vähemalt korra olen küll paari viimase päeva jooksul sarnasele lehele sattunud. Võib-olla huvitavate lühendite rida hirmutas ära.
[UPDATE]:
Sain oma julla valmis ja põhimõtteliselt võib selle teema vist lukku panna. Sellegipoolest lisan oma tegevuse põhjalikuma kokkuvõtte - järsku on mõnele teisele algajale huvilisele abiks.
Oma tegevust alustasin OpenSSL allalaadimisega vastavalt leheküljelt, kuid paigaldamise endaga oli igavene jama ja hõlmas sealhulgas ka muu tarkvara paigaldamist (MinGW). Kuigi tundus, et sain asja paigaldatud, jäin siiski kahtlevale seisukohal ja imekombel tuli nii palju mõistust koju, et jagasin Dev-C++ enda uuendamishalduriga vastavad paketid otsida ja ka paigaldada. Paigaldasin zlib, OpenSSL ja libcurl (ssl toega; samas on no_ssl versioon) pakid, mis läksid ka ilusti tööle. Esimese puhul tundus numbrite järgi, et sain uusima versiooni ja teisega oli lugu enam-vähem. libcurl puhul tundus erinevus suurem olevat ja sai siiski kodulehelt juba eelnevalt Win32 jaoks konfigureeritud versioon tõmmatud, mille puhul piirdusin lahtipakkimise ja Dev-Cpp kausta vastavate alamkaustade ülekopeerimisega (kuigi selle eest hoiatati, paistab, et midagi väga hullusti ära lõhkunud pole). Kaasatulnud .dll-id viskasin ka System32 kausta, kuna lihtsalt .exe käivitamisel hakkas Win hädaldama.
Algse koodi sain http://www.luckyspin.org/?p=28 lehelt (lähitulevikus peaks ka annetuse tegema ), mis tundus piisavalt elegantne, et ilma erilise muutmiseta selle põhjale edasi ehitada.
Kergelt muudetud kood, millega alguses katsetasin:
Spoiler 
Linkur: -lz -lcurldll -lws2_32 -lwinmm |
#include <iostream>
#include <fstream>
#include <string>
#include "curl/curl.h"
using namespace std;
static char errorBuffer[CURL_ERROR_SIZE];
static string buffer;
static int writer(char *data, size_t size, size_t nmemb, std::string *buffer) {
int result = 0;
if (buffer != NULL) {
buffer->append(data, size * nmemb);
result = size * nmemb;
}
return result;
}
int main() {
string url;
cout << "Destination URL: "; cin >> url;
cout << "\nRetrieving " << url << "\n\n";
if (!curl_global_init(CURL_GLOBAL_ALL)) {
CURL *curl;
CURLcode result;
ofstream fout("source.html");
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_HEADER, 0);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
result = curl_easy_perform(curl);
if (result == CURLE_OK)
fout << buffer << "\n";
else
cout << "Error: [" << result << "] - " << errorBuffer << endl;;
curl_easy_cleanup(curl);
fout.close();
}
else
cout << "Error: unable to init cURL\n";
curl_global_cleanup();
cout << "Closing...";
return 0;
} |
Ühtlasi mainiks ära, et kui näiteks kasutada
...siis tuleb tagasi SAISi avelehe source, kui aga..
Destination URL: https://www.sais.ee/avalik/et/ASTSD/et_asutused.html |
...saab kätte õige asja. Enda ähmane oletus on, et esimesel juhul kasutatakse HTTP-d ja sellest tulenevalt ka vastav tulemus, teisel juhul oskab teek kohe õiget protokolli kasutada. Küllap keegi kogenum teab täpsemalt.
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|