def debug(request): if request.method == 'GET': return render(request, 'tupuqo/debug.html') elif request.method == 'POST': ret = {'status': True, 'error': None, 'data': None} inputHost = request.POST.get('inputHost') query_from = request.POST.get('query_from') query = request.POST.get('query') if query_from == '': query_from = 'web' else: query_from = query_from params = { 'queryString': query, 'queryFrom': query_from, } params_utf16 = urlhandle.urlencode(params, 'utf-16le', 'ignore') headers = { "Content-type": "application/x-www-form-urlencoded;charset=UTF-16LE" } try: resp = requests.post(inputHost, data=params_utf16, headers=headers, timeout=3) status = resp.reason if status != 'OK': print(sys.stderr, query, status) ret['error'] = 'Error:未知的请求类型' ret['status'] = False return ret data = BeautifulSoup(resp.content.decode('utf-16le')) ret['data'] = data.prettify() except Exception as e: print(e) print(sys.stderr, sys.exc_info()[0], sys.exc_info()[1]) ret['error'] = "Error:" + str(e) ret['status'] = False return HttpResponse(json.dumps(ret))
def debug(request): #user_id = "zhangjingjun" #user_id = request.COOKIES.get('uid') if request.method == 'GET': # page = request.GET.get('page') # current_page = 1 # if page: # current_page = int(page) # try: # # req_list = models.DebugQo.objects.filter(user_fk_id=user_id) # req_list = models.DebugQo.objects.order_by('id')[::-1] # page_obj = pagination.Page(current_page, len(req_list), 8, 5) # data = req_list[page_obj.start:page_obj.end] # page_str = page_obj.page_str("/webqo/debug?page=") # except Exception as e: # print(e) # pass return render(request, 'tupush/debug.html') elif request.method == 'POST': ret = {'status': True, 'error': None, 'data': None} inputHost = request.POST.get('inputHost') query_from = request.POST.get('query_from') forceQuery = request.POST.get('forceQuery') query = request.POST.get('query') if forceQuery == '': forceQuery = '0' else: forceQuery = forceQuery if query_from == '': query_from = 'web' else: query_from = query_from params = { 'queryString': query, 'queryFrom': query_from, 'forceQuery': forceQuery, } params_gbk = urlhandle.urlencode(params, 'gbk', 'ignore') headers = { "Content-type": "application/x-www-form-urlencoded;charset=UTF-16LE" } try: resp = requests.post(inputHost, data=params_gbk, headers=headers, timeout=3) status = resp.reason if status != 'OK': print(sys.stderr, query, status) ret['error'] = 'Error:未知的请求类型' ret['status'] = False return ret data = BeautifulSoup(resp.text, "html.parser") ret['data'] = data.prettify() except Exception as e: print(e) print(sys.stderr, sys.exc_info()[0], sys.exc_info()[1]) ret['error'] = "Error:" + str(e) ret['status'] = False return HttpResponse(json.dumps(ret))
def debug_diff(request): data = { 'total_data': None, 'jzwd_data': None, 'rec_data': None, 'int_data': None, } ret = {'status': True, 'error': None, 'data': None} inputHost = request.POST.get('inputHost') forceQuery = request.POST.get('forceQuery') query_from = request.POST.get('query_from') inputHost_diff = request.POST.get('inputHost_diff') forceQuery_diff = request.POST.get('forceQuery_diff') query_from_diff = request.POST.get('query_from_diff') query = request.POST.get('query') if forceQuery == '': forceQuery = '0' else: forceQuery = forceQuery if forceQuery_diff == '': forceQuery_diff = '0' else: forceQuery_diff = forceQuery_diff if query_from == '': query_from = 'web' else: query_from = query_from if query_from_diff == '': query_from_diff = 'web' else: query_from_diff = query_from_diff params = { 'queryString': query, 'queryFrom': query_from, 'forceQuery': forceQuery, } params_diff = { 'queryString': query, 'queryFrom': query_from_diff, 'forceQuery': forceQuery_diff, } params_gbk = urlhandle.urlencode(params, 'gbk', 'ignore') params_diff_gbk = urlhandle.urlencode(params_diff, 'gbk', 'ignore') headers = { "Content-type": "application/x-www-form-urlencoded;charset=UTF-16LE" } try: resp = requests.post(inputHost, data=params_gbk, headers=headers, timeout=3) resp_diff = requests.post(inputHost_diff, data=params_diff_gbk, headers=headers, timeout=3) status = resp.reason status_diff = resp_diff.reason if status != 'OK' or status_diff != 'OK': print(sys.stderr, query, status, status_diff) ret['error'] = 'Error:未知的请求类型' ret['status'] = False return ret total = BeautifulSoup(resp.text, "html.parser") total_diff = BeautifulSoup(resp_diff.text, "html.parser") jzwd = jzwd_diff = BeautifulSoup("精准问答结果为空", "html.parser") rec = rec_diff = BeautifulSoup("右侧推荐结果为空", "html.parser") int = int_diff = BeautifulSoup("兴趣推荐结果为空", "html.parser") for doc in total.find_all('doc'): pvtype = doc.item['pvtype'] if re.search(r'[^ ]*_[^ ]*_[^ ]*', pvtype): jzwd = doc continue if re.search(r'[^ ]*_[^ ]*', pvtype): rec = doc continue if '13' == pvtype: int = doc continue for doc in total_diff.find_all('doc'): pvtype = doc.item['pvtype'] if re.search(r'[^ ]*_[^ ]*_[^ ]*', pvtype): jzwd_diff = doc continue if re.search(r'[^ ]*_[^ ]*', pvtype): rec_diff = doc continue if '13' == pvtype: int_diff = doc continue diff = difflib.HtmlDiff() data['total_data'] = diff.make_table( total.prettify().splitlines(), total_diff.prettify().splitlines()).replace('nowrap="nowrap"', '') data['jzwd_data'] = diff.make_table( jzwd.prettify().splitlines(), jzwd_diff.prettify().splitlines()).replace('nowrap="nowrap"', '') data['rec_data'] = diff.make_table( rec.prettify().splitlines(), rec_diff.prettify().splitlines()).replace('nowrap="nowrap"', '') data['int_data'] = diff.make_table( int.prettify().splitlines(), int_diff.prettify().splitlines()).replace('nowrap="nowrap"', '') ret['data'] = data except Exception as e: print(e) print(sys.stderr, sys.exc_info()[0], sys.exc_info()[1]) ret['error'] = "Error:" + str(e) ret['status'] = False return HttpResponse(json.dumps(ret))
def debug_diff(request): ret = {'status': True, 'error': None, 'data': None} inputHost = request.POST.get('inputHost') query_from = request.POST.get('query_from') inputHost_diff = request.POST.get('inputHost_diff') query_from_diff = request.POST.get('query_from_diff') query = request.POST.get('query') if query_from == '': query_from = 'web' else: query_from = query_from if query_from_diff == '': query_from_diff = 'web' else: query_from_diff = query_from_diff params = { 'queryString': query, 'queryFrom': query_from, } params_diff = { 'queryString': query, 'queryFrom': query_from_diff, } params_utf16 = urlhandle.urlencode(params, 'utf-16le', 'ignore') params_diff_utf16 = urlhandle.urlencode(params_diff, 'utf-16le', 'ignore') headers = { "Content-type": "application/x-www-form-urlencoded;charset=UTF-16LE" } try: resp = requests.post(inputHost, data=params_utf16, headers=headers, timeout=3) resp_diff = requests.post(inputHost_diff, data=params_diff_utf16, headers=headers, timeout=3) status = resp.reason status_diff = resp_diff.reason if status != 'OK' or status_diff != 'OK': print(sys.stderr, query, status, status_diff) ret['error'] = 'Error:未知的请求类型' ret['status'] = False return ret data = BeautifulSoup(resp.content.decode('utf-16le')) data_diff = BeautifulSoup(resp_diff.content.decode('utf-16le')) diff = difflib.HtmlDiff() ret['data'] = diff.make_table( data.prettify().splitlines(), data_diff.prettify().splitlines()).replace('nowrap="nowrap"', '') except Exception as e: print(e) print(sys.stderr, sys.exc_info()[0], sys.exc_info()[1]) ret['error'] = "Error:" + str(e) ret['status'] = False return HttpResponse(json.dumps(ret))