#coding=utf-8
#作者:ewang
#版本:2.7
#功能描述:编写python版本,对特定的网站,获取相关的json值
import socket
import thread
import urlparse
import select
import threading
import re
import json
import Data
BUFLEN=8192
class Proxy(object):
def __init__(self,conn,addr):
self.source=conn
self.request=""
self.Json=""
self.Jrespone=""
self.destnation=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.run()

def get_headers(self):
header=''
while True:
header+=self.source.recv(BUFLEN)
index=header.find('\n')
if index >0:
break
self.request=header[index+1:]


def conn_destnation(self):
ip=socket.gethostbyname("服务器")
self.destnation.connect((ip,80))
data="%s %s %s\r\n" %("方法","URL","HTTP/1.1")
self.destnation.send(data+self.request)
item=re.findall('\"props\"\s*:(.+})\,',self.request,re.S)
item=item[0].replace(" ","")
#对json文件编码
Jdumps=json.dumps(item,sort_keys=True)
#对json文件解码
Jrespone=json.loads(Jdumps)
json_respone=json.loads(item)
self.Json=json_respone
self.Jrespone=Jrespone
print self.Jrespone

def run(self):
self.get_headers()
self.conn_destnation()



class Server(object):

def __init__(self,host,port):
self.server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.server.bind((host,port))
self.server.listen(5)


def start(self):
while True:
try:
conn,addr=self.server.accept()
thread.start_new_thread(Proxy(conn,addr),())
except:
pass


if __name__=='__main__':
s=Server(IP,PORT)
s.start()