Yount_0701 Ответов: 0

Openssl lib и прокси


Привет всем! Я пытаюсь использовать openssl lib для доступа к некоторой сети и анализа ответа http json.более ранний тест в порядке, пока он не отправит http-запрос через http-прокси.
я не знаком с этой библиотекой, которая звучит очень мощно. и я уверен, что проблема прокси-сервера должна быть рассмотрена разработчиком lib. есть очень ограниченный ресурс об этой lib, который я мог бы найти.Существует ли какой-либо метод установки параметров или каких-то начальных функций, связанных с этим?

Что я уже пробовал:

это какой-то простой код, который хорошо работает без прокси. как изменить код и поддержать прокси ?
BIO *sbio, *out;                                                                     
int len;                                                                             
char tmpbuf[1024];   
SSL_CTX *ctx;    
SSL *ssl;      
                                                                              
ERR_load_SSL_strings();     
SSL_library_init();     
ctx = SSL_CTX_new(SSLv23_client_method());     
sbio = BIO_new_ssl_connect(ctx);      
BIO_get_ssl(sbio, &ssl);          
if(!ssl)               
{                
    fprintf(stderr, "Can't locate SSL pointer\n");   
    ERR_print_errors_fp(stderr);                                                     
}   
                                                                                
SSL_set_mode(ssl, SSL_MODE_AUTO_RETRY);   
BIO_set_conn_hostname(sbio, "106.39.167.232:443");//some server ip address & port    
out = BIO_new_fp(stdout, BIO_NOCLOSE);                                                
if(BIO_do_connect(sbio) <= 0)                                                              
{                                                                                          
    fprintf(stderr, "Error connecting to server\n");                                       
    ERR_print_errors_fp(stderr);                                                           
}       
                                                                                   
printf("SSL connection using %s\n",SSL_get_cipher(ssl));   
...
есть также некоторые сообщения после выполнения демо-версии
Error connecting to server
2601232:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl\record\ssl3_record.c:252:


Я пробовал изменить параматер
BIO_set_conn_hostname
чтобы ip прокси все равно не работал.

надеюсь , некоторые ребята приведут пример, спасибо.

0 Ответов