当前位置: 首页>>代码示例>>Python>>正文


Python HTTPResponse.content方法代码示例

本文整理汇总了Python中mitmproxy.models.HTTPResponse.content方法的典型用法代码示例。如果您正苦于以下问题:Python HTTPResponse.content方法的具体用法?Python HTTPResponse.content怎么用?Python HTTPResponse.content使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mitmproxy.models.HTTPResponse的用法示例。


在下文中一共展示了HTTPResponse.content方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: request

# 需要导入模块: from mitmproxy.models import HTTPResponse [as 别名]
# 或者: from mitmproxy.models.HTTPResponse import content [as 别名]
def request(context, flow):
    print flow.request.path
    m = re.match("^/geoserver/i/([\d]+)/([\d]+)/([\d]+)$", flow.request.path)
    if m is not None:
        print "match success!"
        imagename = flow.request.path_components[1] + '_' + flow.request.path_components[2] + '_' + flow.request.path_components[3] + '_' + flow.request.path_components[4];
        imagequerycache = "/home/root/accesscache " + imagename;
        imagequerycacheresult = os.popen(imagequerycache).read();
        if (imagequerycacheresult != "No" and imagequerycacheresult != "ERROR"):
        	resp = HTTPResponse(
		"HTTP/1.1", 200, "OK", Headers(Content_Type="image/png"), "helloworld")
                with open(imagequerycacheresult, 'r') as f:
             		payload = f.read()
             		resp.content = payload
             		resp.headers["Content-Length"] = str(len(payload))
                        resp.headers["Access-Control-Allow-Origin"] = "*"
                        print len(payload)
                        f.close()
                flow.reply(resp)
                return
	else:
		imagefilepath = "/home/root/bpqrecv/" + imagename;
                randregid = randrange(0, 32768);
		print randregid;
		querycomm = "/home/root/DTN2/apps/dtnquery/dtnquery -m send -s dtn://dtn1.dtn -d dtn://dtn2.dtn -q " + imagename + " -i " + str(randregid);
                print querycomm;
		os.system(querycomm);
                for x in range(0, 60):
			imagequerycacheresult = os.popen(imagequerycache).read();
			if (imagequerycacheresult != "No" and imagequerycacheresult != "ERROR"):
				resp = HTTPResponse(
				"HTTP/1.1", 200, "OK", Headers(Content_Type="image/png"), "helloworld")
                		with open(imagequerycacheresult, 'r') as f:
             				payload = f.read()
             				resp.content = payload
             				resp.headers["Content-Length"] = str(len(payload))
					resp.headers["Access-Control-Allow-Origin"] = "*"
                       			print len(payload)
                        		f.close()
                		flow.reply(resp)
                		return
                	else:	
                		time.sleep(1);
    z = re.match("^/geoserver/z/([\d]+)/([\d]+)/([\d]+)$", flow.request.path)
    if z is not None:
        vectorname = flow.request.path_components[1] + '_' +  flow.request.path_components[2] + '_' + flow.request.path_components[3] + '_' + flow.request.path_components[4]
        vectorquerycache = "/tmp/ramdisk0/accesscache " + vectorname;
	vectorquerycacheresult = os.popen(vectorquerycache).read();
        if (vectorquerycacheresult != "No" and vectorquerycacheresult != "ERROR"):
        	resp = HTTPResponse(
		"HTTP/1.1", 200, "OK", Headers(Content_Type="application/octet-stream"), "helloworld")
                with open(vectorquerycacheresult, 'r') as f:
             		payload = f.read()
             		resp.content = payload
             		resp.headers["Content-Length"] = str(len(payload))
			resp.headers["Access-Control-Allow-Origin"] = "*"
                        resp.headers["Cache-Control"]= "public, max-age=86400"
                        print len(payload)
                        f.close()
                flow.reply(resp)
                return
        else:
                waitingcomm = "/tmp/ramdisk0/waiting " + vectorname;
                os.system(waitingcomm);
        	vectorquerycacheresult = os.popen(vectorquerycache).read();
                print "vectorquerycacheresult: " + vectorquerycacheresult;
                if (vectorquerycacheresult != "No" and vectorquerycacheresult != "ERROR"):
        		resp = HTTPResponse(
			"HTTP/1.1", 200, "OK", Headers(Content_Type="application/octet-stream"), "helloworld")
                	with open(vectorquerycacheresult, 'r') as f:
             			payload = f.read()
             			resp.content = payload
             			resp.headers["Content-Length"] = str(len(payload))
				resp.headers["Access-Control-Allow-Origin"] = "*"
                                resp.headers["Cache-Control"]= "public, max-age=86400"
                        	print len(payload)
                        	f.close()
                	flow.reply(resp)
                        return
    v = re.match("^/geoserver/v/([\d]+)/([\d]+)/([\d]+)$", flow.request.path)
    if v is not None:
        vectorname = flow.request.path_components[1] + '_' +  flow.request.path_components[2] + '_' + flow.request.path_components[3] + '_' + flow.request.path_components[4]
        print "vectorname: " + vectorname;
        vectorquerycache = "/tmp/ramdisk0/accesscache " + vectorname;
	vectorquerycacheresult = os.popen(vectorquerycache).read();
        if (vectorquerycacheresult != "No" and vectorquerycacheresult != "ERROR"):
        	resp = HTTPResponse(
		"HTTP/1.1", 200, "OK", Headers(Content_Type="application/json"), "helloworld")
                with open(vectorquerycacheresult, 'r') as f:
             		payload = f.read()
             		resp.content = payload
             		resp.headers["Content-Length"] = str(len(payload))
			resp.headers["Access-Control-Allow-Origin"] = "*"
                        resp.headers["Cache-Control"]= "public, max-age=86400"
                        print len(payload)
                        f.close()
                flow.reply(resp)
                return
        else:
                waitingcomm = "/tmp/ramdisk0/waiting " + vectorname;
#.........这里部分代码省略.........
开发者ID:lchao-bit,项目名称:NSSDTN2,代码行数:103,代码来源:script.py


注:本文中的mitmproxy.models.HTTPResponse.content方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。