我使用可以生成应用程序中存储的一些数据的PDF报告的web应用程序。然而,要获得该报告,需要点击几次,并与应用程序混为一谈。如何在网络服务器上运行Python脚本

我支持这个应用程序的一组用户(我们使用的应用程序,我们不创建应用程序),我希望他们能够生成和查看尽可能少的点击这个报告。幸运的是,这个Web应用程序通过RESTful API提供了大量数据。所以我做了一些脚本。

我有一个Python脚本,它使HTTP GET请求,处理JSON结果,并使用该结果数据来动态构建一个URL。这里是我的Python代码的简化版本:

#!/usr/bin/env python

import requests

app_id="12345"

secret="67890"

api_url='https://api.webapp.example/some_endpoint'

resp = requests.get(api_url, auth=(app_id,secret))

json_data = resp.json()

# Simplification of the data processing I'm doing

my_data = json_data['attr1']['attr2'] + my_data_processing

# Result of the script is a link to a dynamically generated PDF

pdf_url = 'https://pdf.webapp.example/items/' + my_data

以上是我的代码实际上有一个简化,但它表明了相关的问题。在我的实际脚本中,我继续通过动态构建的URL进行另一个GET。 Web应用程序根据URL的my_data部分生成PDF,然后将该PDF写入文件。今天工作得很好。

目前,这是一个python脚本,可以在本地机器上按需运行。不过,我想在网络上的某个位置托管此文件,以便当用户在其浏览器中点击URL时,它会运行并生成pdf_url,而不必在每个用户的本地计算机上安装此脚本,以便PDF可以在移动设备上生成并查看。

思想是用户可以打开http://example.com/report-shortcut,python脚本将运行服务器端,动态构建URL并将用户重定向到该URL,然后该URL将在浏览器中显示PDF(假设用户是使用显示诸如Chrome,Safari等PDF文件的浏览器)。或者,如果重定向有问题,转至http://example.com/report-shortcut只能显示一个HTML页面,其中包含指向由Python脚本生成的URL的链接。

我正在寻找一种解决方案,以便如何托管此Python脚本并在用户访问网页时使其运行。我研究过AWS Lambda和Django,但对于这样一个简单的脚本(大约20行代码,加上注释和空白)看起来似乎过分了。我也看过Python CGI脚本,看起来很有前景,但我没有经验设置类似的东西。

寻找有关如何在用户转到示例网址时最好地托管和运行此代码的建议。

PS:我想过只是重新在Javascript中实现,但我宁愿API密钥不公开访问。

+2

前端的JavaScript将是任务比较容易的方式,但如果你一定想这样做后端服务器[瓶(http://flask.pocoo.org上/)可能更容易设置。 –

如何在服务器上运行python,如何在网络服务器上运行Python脚本相关推荐

  1. QQ群、讨论组上传文件,由于网络原因上传失败?

    QQ群.讨论组上传文件,由于网络原因上传失败? 听语音 | 浏览:194 | 更新:2016-10-29 14:17 | 标签:软件 电脑 1 2 3 4 分步阅读 QQ群.讨论组上传文件,总是由于网 ...

  2. 解决QQ群、讨论组上传文件,由于网络原因上传失败?

    最近qq上传群文件老是失败,但是同事他们可以,目前已经解决QQ群.讨论组上传文件,由于网络原因上传失败?,做法如下: 输入regedit,打开注册表,然后找到这个位置HKEY_CURRENT_USER ...

  3. 天正网络版怎么通过注册表修改服务器地址,如何修改天正的网络服务器地址

    如何修改天正的网络服务器地址 内容精选 换一换 本章节介绍如何使用管理控制台向导创建裸金属服务器.创建裸金属服务器时,您需要配置规格.镜像.存储.网络.安全组等必备信息.同时,向导也提供了丰富的扩展配 ...

  4. 微软服务器每个月,2017年7月网络服务器调查 微软服务站点过半

    [IT168 编译]国外一家媒体NetCraft在2017年7月的调查中,共收到了来自1,767,964,429个网站和6,593,508台面向网络的计算机的响应.代表7月份拥有100万个站点(+0. ...

  5. 天正网络版修改服务器地址,如何修改天正的网络服务器地址

    如何修改天正的网络服务器地址 内容精选 换一换 本章节指导用户为Windows系统的ECS主机添加域名解析并添加安全组,防止下载Agent安装包与采集监控数据时出现异常.修改ECS的DNS配置有两种方 ...

  6. ftpd服务器配置文件,中文解释PureFTPd配置文件网络服务器 -电脑资料

    ############################################################ ## #Configurationfileforpure-ftpdwrappe ...

  7. 思科虚拟机服务器,利用Cisco UCS管理虚拟机网络(上)

    Cisco UCS计算系统针对虚拟化环境的网络管理提供了两种解决方案:一种是纯软件的Cisco Nexus 1000V:一种是基于Cisco UCS M81KR网卡的硬件解决方案.Cisco Nexu ...

  8. autocad网络服务器如何安装许可证,如何在网络服务器上安装AutoCAD脱机帮助

    涵盖的产品和版本 AutoCAD 2011, AutoCAD 2012, AutoCAD 2013, AutoCAD 2014, AutoCAD 2015, AutoCAD 2016, AutoCAD ...

  9. python 检测行为 网络摄像头_使用Python扫描开放的网络摄像头

    现在无论家用还是公司使用摄像头越来越多,但是安全性又如何呐?今天我来说说几款比较常用的摄像头,并且使用python如何批量检查弱口令. 第一个"海康威视": 前段时间爆出海康威视的 ...

  10. 使用Python SocketServer快速实现多线程网络服务器

    Python SocketServer使用介绍 1.简介: SocketServer是python的一个网络服务器框架,可以减少开发人员编写网络服务器程序的工作量. SocketServer总共有4个 ...

最新文章

  1. ffmpeg解码优化参数
  2. 在不同制作基础上该如何选择网页制作软件?
  3. 产品经理读:李善友《产品型社群-互联网思维的本质》
  4. Life Cycle Stages of ASP.NET Web Page.
  5. 修改layui框架html,layui框架如何设置分页?(方法介绍)
  6. java中的线程不安全和实例解析
  7. 可能这些是你想要的H5软键盘兼容方案
  8. 程序员水平自测题:程序员们,想知道你的技术达到了什么水平吗?
  9. ubuntu 刚更改默认python3版本后更新包等
  10. mysql slave_mysql master slave
  11. iframe父页面和子页面高度自适应
  12. 《深入浅出Python机器学习》读书笔记 第二章 基于Python语言的环境配置
  13. kettle中的switch_kettle 教程(三):条件判断 Switch Case
  14. 小技巧(12):关于PC端简单的视频剪辑处理中,bandicam(录制)、pr(配音)、pr(导出)、剪映(字幕识别)、pr(最终版导出)的全过程及基础设置
  15. IDEA如何新建一个source folder
  16. hihoder 1048
  17. 网站性能优化三大策略
  18. linux恢复rm删除文件ext4,EXT4中恢复使用rm命令误删除的文件
  19. RSA组件之掩码生成函数(MGF)的实现(C源码)
  20. Mac下载软件Motrix 下载速度为零解决办法

热门文章

  1. 英语口语测试评分软件,7款超人气英语口语app深度测评
  2. eLife:科勒Moxie 会唱歌的花洒
  3. java iplimage 头文件_在javacv中将IplImage转换为Mat
  4. WinNT无盘Win95维护经验
  5. 取消Win7驱动数字签名认证
  6. 微信小程序游戏怎么开发入门教程
  7. win10企业版 网络图标消失 解决办法
  8. CCF CSP认证JAVA(一)
  9. 给马斯克群发卫星算本账,星链计划跟5G有可比性么?
  10. 软件下载页面php,PHP网页制作软件下载