使用bcb 调用 openssl库进行https get请求

这篇博客介绍了如何在Borland C++ Builder环境下,通过编译安装OpenSSL库,配置编译环境,然后编写C++代码实现HTTPS GET请求。文章详细展示了从设置包含路径和库路径,到创建SSL连接,发送HTTP请求并接收响应的完整过程。
摘要由CSDN通过智能技术生成

1编译安装openssl

首先,下载并安装active perl(编译openssl时需要)

然后从chinaunix下载频道中下载openssl-0.9.8x.tar.gz,并解压。

打开控制台,cd切换目录到解压后所在目录,运行ms\bcb4.bat。


2配置bcb

选择菜单project-》option-》directories/conditionals

将inc32路径加入到include path中

将out32路径加入到library path中


3示例源码

#include "openssl/ssl.h"
#include "openssl/err.h"
#include "openssl/bio.h"
#include "openssl/rand.h"
#pragma comment(lib, "ssleay32.lib")
#pragma comment(lib, "libeay32.lib")

int getPages()
{
  const char* domain="github.com";
  const char* host_addr="192.30.252.128";
  const int host_port=443;
  const char* pObject="/mikesmullin/MenuetOS-64";

    WSADATA wsaData;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您不想使用OpenSSL来实现SHA-256加密算法,可以手动实现SHA-256算法。以下是一个简化的示例代码: ```c #include <stdio.h> #include <stdint.h> #define ROTRIGHT(word, bits) (((word) >> (bits)) | ((word) << (32 - (bits)))) #define CH(x, y, z) (((x) & (y)) ^ (~(x) & (z))) #define MAJ(x, y, z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) #define EP0(x) (ROTRIGHT(x, 2) ^ ROTRIGHT(x, 13) ^ ROTRIGHT(x, 22)) #define EP1(x) (ROTRIGHT(x, 6) ^ ROTRIGHT(x, 11) ^ ROTRIGHT(x, 25)) #define SIG0(x) (ROTRIGHT(x, 7) ^ ROTRIGHT(x, 18) ^ ((x) >> 3)) #define SIG1(x) (ROTRIGHT(x, 17) ^ ROTRIGHT(x, 19) ^ ((x) >> 10)) uint32_t K[] = { 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 }; void sha256(uint8_t *message, uint32_t message_len, uint8_t *digest) { uint32_t i, j; uint32_t temp1,***
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值