class RequestPost:
def __init__(self,uploadData,filePath=None,saveJsonFilePath=None):
self.uploadData=uploadData
self.filePath=filePath
self.saveJsonFilePath=saveJsonFilePath
from poster.streaminghttp import StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandler
handlers = [StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandler]
opener = urllib2.build_opener(*handlers)
urllib2.install_opener(opener)
self.headers = {
'Connection': 'keep-alive',
'Accept': 'text/html, */*; q=0.01',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'zh-CN,zh;q=0.8,ja;q=0.6'
}
def make_json_data(self,response):
# CmnUtil.saveJsonToFile(,response.read())
return json.loads(response.read())
def usePost(self):
flag=True
jsonData={}
url=self.uploadData.get("post-url")
ssl._create_default_https_context=ssl._create_unverified_context
self.uploadData=CmnUtil.makeSign(self.uploadData)
if self.filePath:
try:
f=open(self.filePath,"rb")
except:
pass
else:
self.uploadData.update({"file":open(self.filePath,"rb")})
print(self.uploadData)
data,headers=multipart_encode(self.uploadData)
req = Request(url,data,headers=headers)
try:
response=urlopen(req)
except Exception as e:
print(e)
flag=False
else:
return flag,self.make_json_data(response)
return flag,jsonData