python requests调用java接口(https请求,自签名证书校验)

在智能推荐项目中,Python需要通过HTTPS调用Java接口来执行Spark任务,确保安全使用SSL证书进行校验。本文介绍了Python的Requests库发送POST请求的设置,自签名证书的生成步骤,以及Java端配置证书的方法,同时解答了在调用过程中遇到的SSL错误问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

  智能推荐项目中需要使用python调用java接口来调度执行Spark任务。

  商用环境中,双方需使用https协议,及C/S端需要用SSL证书校验来保障接口安全。

 

三方包版本

  Python3.7.0

    Requests 2.22.0(python发送https请求)

  OpenSSL 1.1.0(生成证书)

  JDK1.8(提供https接口)

 

Requests发送post请求

requests标准文档-详细

    verify为False表示不校验证书

# 代码
from requests.packages import urllib3
urllib3.disable_warnings()

# verify为False仅适用于开发测试环境
response = requests.post(url=url, json=param,
                         headers=post_headers,
                         verify=False)

    如果verify将设置为目录的路径,则必须先使用OpenSSL随附的c_rehash处理该目录。

# 生成的根证书路径
"/root/gel/y-ca
### 使用Python Requests库进行HTTPS请求 当利用Python的`requests`库执行HTTPS请求时,可以保持与HTTP请求相似的操作方式,但需要注意一些特定于HTTPS的安全配置选项。默认情况下,`requests`库会对HTTPS连接自动验证服务器SSL证书以保障通信安全[^4]。 对于发起一个简单的GET类型的HTTPS请求而言: ```python import requests response = requests.get('https://example.com') print(response.status_code) ``` 如果目标网站拥有有效的公共信任链中的CA签发的SSL证书,则上述代码通常能正常工作而无需额外配置。然而,在某些特殊场景下——比如对接自签名证书的服务端口时,可能需要显式指定路径到本地存储的信任根证书文件来完成认证过程;或者出于开发调试目的暂时忽略证书校验(不推荐用于生产环境),可以通过调整`verify`参数的行为达成需求: ```python # 明确提供可信CA bundle的位置 response_with_custom_ca = requests.get('https://self-signed.example.org', verify='/path/to/cabundle.pem') # 或者禁用SSL验证 (注意:这存在安全隐患!) unsafe_response = requests.get('https://some-site-with-invalid-cert/', verify=False) if unsafe_response.ok: print(unsafe_response.text) else: print(f"Request failed with status code {unsafe_response.status_code}") ``` 针对POST方法下的HTTPS调用同样适用类似的逻辑框架,并且可以根据实际业务需求构建更复杂的payload结构体作为请求主体的一部分传递给服务端解析处理[^3]。 #### 关键点总结: - 默认启用SSL/TLS加密传输层保护机制; - 支持通过`verify`参数定制化控制SSL证书验证策略; - 可选地附加客户机身份凭证材料如client-side certificates以便双向TLS握手建立受信通道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值