双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

使用BIO开发https客户端的问题

olmouse olmouse 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的代码大致如下:
BIO *bio;
SSL_CTX *ctx ;
SSL * ssl;
SSL_library_init();
SSL_load_error_strings();
ERR_load_BIO_strings();
OpenSSL_add_all_algorithms();

const SSL_METHOD *meth=SSLv3_client_method();
ctx= SSL_CTX_new(meth);
bio = BIO_new_ssl_connect(ctx);
BIO_set_conn_hostname(bio, "127.0.0.1:https");
BIO_do_accept(bio);

std:string szContent="name=admin&password=";
char tmp[128];
sprintf(tmp,"Content-Length: %d\r\n",szContent.size());
szHead+="POST /api/Query.action HTTP/1.0\r\n";
szHead+="Host: query.unionpaysecure.com\r\n";
szHead+="Content-Type: text/plain;charset=UTF-8\r\n";
szHead+=tmp;
szHead+="Connection: close\r\n";
szHead+="\r\n";
szHead+=szContent;

IO_write(bio,szHead.c_str(),szHead.size());
char msg[1025];
for(;;)
{
memset(msg,0,1025);
int nRet=BIO_read(bio,msg,1024);
if(nRet<=0){
break;
}else{
printf(msg);
szContent+=msg;
}
}

SSL_CTX_free(ctx);
BIO_free_all(bio);

-----------------------------------
服务器端没有收到POST的内容(name和password)或者说post环境的内容是空的
不知道哪里出问题了
...全文
评论
收藏 已收藏
分享
返回顶部
olmouse
C++ 语言 65,214 成员 250,514 内容