我有一个由Python构建的API服务器。我需要一组客户端/计算机通过发出http post请求将数据发送到API服务器。
这里的数据实际上是html内容。(注意:我没有将合法数据转换为HTML/XML格式,数据本身就是我从web上收集的HTML),通常每页约200KB。我正试图通过使用串行/串行和压缩来尽可能减轻网络负载。
我正在考虑通过网络发送原始超文本标记语言。有没有类似序列化html对象的方法?并在服务器端反序列化。或者使用一些压缩方法先压缩文件,然后将数据发布到API服务器。在服务器端,一旦收到压缩数据,它就可以解压数据。
我所做的:
(1) 我尝试将原始HTML文本转换为一个soup对象,然后使用Pickle对其进行序列化。然而,它告诉我太多的递归和错误。我还尝试了pickle原始html,压缩性能很差。。。几乎与原始html字符串大小相同。
(2) 我试着事先压缩zlib文件,然后它的大小是原始文件的10%。然而,这是解决这个问题的合法方法吗?
有什么想法吗?
嗯,我从你们的评论中得到了很多启发,我想出了一个解决方案,使用zlib
压缩HTML内容,并将数据发布到API服务器,在Flask API服务器端,我提取数据并推送到mongodb存储。
这是可能避免未来头痛的部分。
客户端:
myinput = "http://www.exmaple.com/001"
myoutput = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ... /html>"
result = {'myinput':myinput, 'myoutput': myoutput}
data = zlib.compress(str(result))
opener.open("www.host.com/senddata", data)
服务器端:
@app.route('/contribute', methods=['POST'])
def contribute():
try:
data = request.stream.read()
result = eval(zlib.decompress(data))
db.result.insert(result)
except:
print sys.exc_info()
pass
return 'OK'
mongodb的结果:
{
"_id" : ObjectId("534e0d346a1b7a0e48ff9076"),
"myoutput" : "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" ... /html>",
"myinput" : "http://www.exmaple.com/001"
}
(注意:正如你所注意到的,最终版本在mongo不知何故逃脱了所有明智的字符,在他们前面放了一个斜杠,比如双引号,不知道如何把它改回来。)
关于在烧瓶中检索二进制数据进行了一些讨论。就像这里。因此,如果从请求中读取,则不必弄乱标题。直接流
。
谢谢
我是新的Kafka,我试图通过超文本传输协议从外部应用程序发布数据,但我找不到这样做的方法。 我已经在kafka中创建了一个主题,并对其进行了测试,以生成和使用消息,但我不知道如何通过http插入/发布消息,我尝试调用以下url来检索主题,但它没有检索任何数据http://servername:2181/topics/ 我使用的是cloudera 5.12.1。
我在Azure function中有一个API,它使用Http触发器来接收数据并将其发送到本地应用程序。我们有用户界面前端,用户可以上传大文件大小(没有限制),这将发送数据块的API。 我知道应用程序的功能限制是100MB,我也看到处理大文件的建议是使用Blob存储。然而,对于同步流程,我们希望通过API来实现这一点(避免在中间流程中将数据存储在blob存储中)。 有没有一种方法可以通过Http触
我正在使用下面的代码登录apiendpoint并从中检索数据,但响应似乎已编码,我无法读取内容。我正在使用request-requestes-0.0.1 当我在控制台上打印相同的响应 有人能告诉我如何解码和读取响应中的数据吗
我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。
我必须向一些没有任何参数的API发送GET请求,所以我编写了代码: 当API url是HTTP时,它可以工作,但不适用于HTTPS。它说: 太阳安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径;嵌套的异常是javax。网ssl。例外:太阳。安全验证器。V
我只是有一个关于服务中http请求的结构和处理响应的问题。我正在使用Angular2。alpha46 Typescript(刚刚开始测试-我喜欢它…Ps…。感谢所有一直致力于它并通过github作出贡献的人) 因此,采取以下措施: 登录表单。组成部分ts 从这个组件中,我导入了我的userService,它将容纳我的超文本传输协议请求,以登录用户。 使用者服务ts 我想做的是能够处理http请求之