小编use*_*781的帖子

Windows上使用python请求的SSL失败

对很长的帖子道歉,但我真的想彻底......

我有一个专门的网站,作为在远程服务器上运行的各种环境模型之间交换数据并在不同类型的操作系统(Linux,MacOS和Windows)上运行的桥梁.基本上每个服务器都可以将数据文件上载/下载到网站,然后使用文件在另一个服务器上使用不同的模型进行进一步处理.

网站具有一些基本保护(使用LetsEncrypt证书的IP过滤,密码和SSL).所有远程服务器都可以通过我们创建的简单Web界面访问站点并上传/下载数据.

现在我们尝试使用简单的python(2.7)守护进程(基于请求模块)自动化一些交换.守护程序监视某些文件夹并将内容上载到网站.

守护进程在所有远程服务器上都能正常运行,但运行Windows 7 Enterprise 64bit的远程服务器除外.此服务器安装了Python 2.7.13以及以下软件包:DateTime(4.1.1),psutil(5.2.0),pytz(2016.10),requests(2.13.0),zope.interface(4.3.3).

从此服务器,SSL连接可通过Web浏览器正常工作,但守护程序始终返回:

raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)
Run Code Online (Sandbox Code Playgroud)

这是我们到目前为止所尝试的:

  • 设置verify = false.这很好,但我们不能在最终的生产环境中使用它.
  • 从守护程序工作的另一台服务器复制证书,并设置verify =(证书文件的名称)(不成功)
  • 将"User-agent"设置为与使用Web浏览器建立连接时从网站上的Windows计算机获得的完全相同的字符串(不成功)

我们应该在Windows服务器上查看哪些其他设置来尝试解决问题?它可以是防火墙设置,以某种方式允许浏览器SSL连接但阻止python守护程序?

更新
运行产生错误的Windows远程服务器的组织将替换代理级别的所有SSL证书.
他们的IT人员通过将我们网站的URL添加到其代理设置上的"直通"网站列表来解决我们的问题.

这有效,现在很好.但是我想知道我们是否可以直接在python中处理证书替换...

python ssl-certificate windows-7-x64 python-requests

11
推荐指数
2
解决办法
1万
查看次数

将大型pandas数据框保存为excel

我正在生成一个大型数据框(以CSV格式保存时为1.5 GB),需要将其存储为Excel文件的工作表以及另一个(小得多)数据框,该数据框保存在单独的工作表中.

print('Reading temporaty files for variable {}:'.format(Var))
print(' Reading stations')
s=pd.read_csv(StatFile,sep=':',dtype={'ID': 'str'},encoding='utf-8')
print(' Reading data')
d=pd.read_csv(DataFile,sep=':',dtype='str',encoding='utf-8').transpose()
d.columns = d.iloc[0]
d=d[1:].astype('float')
d.reindex_axis(sorted(d.columns), axis=1)
print('Writing out Excel file for variable {}'.format(Var))
writer = pd.ExcelWriter(Path + Var + '.xlsx', engine='xlsxwriter')
d.to_excel(writer, sheet_name='Data')
OutStatCol=['ID','Name','Longitude','Latitude','GRS','OriginalVariable','VariableUnits','URL','JsonNode']
s.to_excel(writer, columns=OutStatCol, index=False, sheet_name='Stations')
writer.save()
Run Code Online (Sandbox Code Playgroud)

我的代码适用于较小的数据帧,但是对于较大的数据帧,我得到以下错误:

Traceback (most recent call last):
  File "./Test2.py", line 29, in <module>
    writer.save()
  File "/home/user/miniconda2/lib/python2.7/site-packages/pandas/io/excel.py", line 1413, in save
    return self.book.close()
  File "/home/user/miniconda2/lib/python2.7/site-packages/xlsxwriter/workbook.py", line 297, in close
    self._store_workbook()
  File "/home/user/miniconda2/lib/python2.7/site-packages/xlsxwriter/workbook.py", line 624, in _store_workbook …
Run Code Online (Sandbox Code Playgroud)

python export-to-excel pandas

3
推荐指数
1
解决办法
3430
查看次数