• 1
预览模式: 普通 | 列表

python用socket实现发送和接收一个http请求,自动处理gzip。直接上代码。

# -*- coding: utf-8 -*-

import zlib, socket

conn = socket.create_connection( ("www.zeroplace.cn", 80) );

data = "''GET / HTTP/1.1
Host: www.zeroplace.cn
Accept-Encoding: gzip, deflate
'''

print data

conn.send(data + "\r\n")

recv_data = ""
header = None
body = None
length = 0

headers = {}

buf = conn.recv(1024)

html = ""

while True:
	recv_data += buf
	
	if header is None:
		index = recv_data.find("\r\n\r\n")
		if index >= 0:
			header = recv_data[0:index];
			recv_data = recv_data[index+4:];
			header_lines = header.split("\r\n")
			status_line = header_lines[0]
			print status_line
			for line in header_lines[1:]:
				print line
				line = line.strip("\r\n")
				if len(line) == 0:
					continue
				colonIndex = line.find(":")
				fieldName = line[:colonIndex]
				fieldValue = line[colonIndex+1:].strip()
				headers[fieldName] = fieldValue

			# print headers
			length = int(headers['Content-Length'])

	if header is not None and len(recv_data) >= length:
		break;
	else:
		buf = conn.recv(1024)

if 'Content-Encoding' in headers and headers['Content-Encoding'] == 'gzip' :
	html = zlib.decompress(recv_data, 16+zlib.MAX_WBITS)
else:
	html = recv_data

print html

conn.close()
分类:python | 固定链接 | 评论: 0 | 查看次数: 50254

android NV21转I420

 最近做一个视频流我app,要用android的摄像头采集数据发到远程保存。我之前对视频和流媒体这块没什么研究,找了找资料发现可以这么干:

Camera->MediaCodec->MediaMuxer

摄像头采集这块资料上一般是用YV12,再通信几次copy就转成I420格式了,再把I420的数据喂到MediaCodec。而我的安卓机的摄像头只支持NV21格式的预览编码,找了很久没有找到可用的资料,最后才大概知道了这两者的关系。

YUV相关的我就不说了,与RGB类似的另一种颜色的表示方式,Y表示亮度, UV表示色度。而根据一些人类视觉的特点发现人类对亮度比较敏感对色度比较不敏感。所以提出对每个像素的Y分量进行采样,而对4个像素只进行一组UV分量的采样。就是对4个像素来说,有4个Y、1个U、1个V。这就是yuv420。

查看更多...

分类:android开发 | 固定链接 | 评论: 0 | 查看次数: 58080

 全国各地所有高校名单数据库 全国所有高校排名

查看更多...

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 46726

JS跳转隐藏来路referrer

有时候跳转过去不希望别人知道来路,可以用下面这段js实现。

function open_without_referrer(link){
	document.body.appendChild(document.createElement("iframe')).src='javascript:"<script>top.location.replace(\''+link+'\')<\/script>"';
}

原理就是创建了一个新的iframe,在src处设置了一个javascript:xxx来执行一段js,执行的内容就是top.location.replace。

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 44691

php输出字符串方法集

代码开关如下, 

<?php
$str = "http://www.zeroplace.cn'."\n";

1. echo
echo $str;

2. printf
printf($str);

3 php://output
file_put_contents('php://output', $str); $fp = fopen("php://output", 'w'); fwrite($fp, $str); fclose($fp);

查看更多...

Tags: php

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 46589
  • 1
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭