def verifysms(): payload = json.loads(request.data) request_url = url + \ f"/api/v1/users/{payload['id']}/factors/{payload['factorId']}/lifecycle/activate" headers = { 'Accept': 'application/json', 'Authorization': 'SSWS ' + api_key, } session = requests.Session() session.headers.update(headers) body = {"passCode": payload['passCode']} r = session.post(request_url, json=body) req_url = url + \ f"/api/v1/users/{payload['id']}/lifecycle/activate?sendEmail=false" r = session.post(req_url) req_url = url + f"/api/v1/users/{payload['id']}/factors?activate=true" data = { "factorType": "call", "provider": "OKTA", "profile": { "phoneNumber": payload['phone'] } } r = session.post(req_url, json=data) return '', 204
def autorenew(nid, password): header = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4,ja;q=0.2', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' } session = requests.Session() if len(nid) == 8: nid = nid + '0' logininfo = {'code': nid, 'pin': password, 'submit': '送出'} start = session.post("https://innopac.lib.fcu.edu.tw/patroninfo*cht", data=logininfo, headers=header) if ('請輸入密碼' in start.text): return ('帳號或密碼錯誤') else: bookurl = start.url[:-3] + 'items' books = session.get(bookurl) booksoup = BeautifulSoup(books.text, "html.parser") day = booksoup.findAll('td', {'class': 'patFuncStatus'}) id = booksoup.findAll('input', {'type': 'checkbox'}) renew = { 'currentsortorder': 'current_checkout', 'currentsortorder': 'current_checkout', 'requestRenewSome': '續借選取館藏' } if len(day) != 0: flag = 0 for i in range(len(day)): if cleckday(day[i].text.split(' ')[2]) <= 5: renew.setdefault(id[i]['id'], id[i]['value']) flag = flag + 1 if flag > 0: session.post(bookurl, data=renew, headers=header) renew.pop('requestRenewSome') renew.setdefault('renewsome', '是') result = session.post(bookurl, data=renew, headers=header) if 'color="red"' in result.text: return ('續借失敗,書籍將在5天內到期') else: return ('成功續借' + str(flag) + '本書') else: return ('您的書籍還不需續借') else: return ('您沒有任何館藏借出')
def do_login(id, pw, json_return = False): try: body = {'type': 'general', 'id': id, 'pushid': '', 'password': pw, 'profile': '0', 'networktype': '', 'carrier': '', 'mcc': '', 'mnc': '', 'markettype': 'unknown', 'adid': '', 'simoperator': '', 'installerpackagename': ''} url = '%s/login?%s' % (config['base_url'], urllib.parse.urlencode(config['base_parameter'])) response = session.post(url, json=body, headers=config['headers']) data = response.json() if 'credential' in data: if json_return: return data else: return data['credential'] #else: #logger.debug('login fail!!') #if 'resultcode' in data: #logger.debug(data['resultmessage']) except Exception as e: pass
def add_room(): form = NewRoomForm() if form.validate_on_submit(): payload = { 'room_type': form.room_type.data, 'capacity': form.capacity.data, 'bathroom': form.bathroom.data, 'balcony': form.balcony.data, 'price': form.price.data } header = {"Content-Type": "application/json"} r = session.post(DB_ADAPTER_URL + '/add_room', headers=header, json=payload) title = 'Operation result' description = '%s for %s people - %s lei per night' % ( form.room_type.data, form.capacity.data, form.price.data) status = r.json()['status'] reason = r.json()['reason'] return render_template('result.html', title=title, description=description, status=status, reason=reason) return render_template('form.html', form=form, title='Add a room')
def book_room(): form = BookingForm() form.room.choices = get_room_ids() if form.validate_on_submit() and correct_dates(form.check_in.data, form.check_out.data): room_id = form.room.data payload = { 'room_id': form.room.data, 'first_name': form.first_name.data, 'last_name': form.last_name.data, 'check_in': form.check_in.data, 'check_out': form.check_out.data } header = {"Content-Type": "application/json"} r = session.post(DB_ADAPTER_URL + '/book_room', headers=header, data=payload) title = 'Booking result' description = 'Your booking for %s between %s and %s' % ( current_rooms[int(room_id)][1], form.check_in.data.strftime('%d %b %Y'), form.check_out.data.strftime('%d %b %Y')) status = r.json()['status'] reason = r.json()['reason'] return render_template('result.html', title=title, description=description, status=status, reason=reason) return render_template('book_room.html', form=form)
def account_certificate(): if not is_loggedin(): return home() if request.method == "POST": session.cookies.clear() response = session.post("https://core:10443/account/certificate", data={}, cert=cert_key, cookies={'userID': request.cookies.get(userid)}) if (response.status_code == 200): username = json.loads(urlsafe_b64decode(request.cookies.get(userid)).decode())['username'] filename = username + "_certificate.p12" response = make_response(urlsafe_b64decode(response.content)) response.headers.set('Content-Type', 'application/octet-stream') response.headers.set('Content-Disposition', 'attachment', filename=filename) return response if (response.status_code == 400): session.cookies.clear() response = session.get("https://core:10443/account/certificate", cert=cert_key, cookies={'userID': request.cookies.get(userid)}) if response.status_code == 200: username = json.loads(urlsafe_b64decode(request.cookies.get(userid)).decode())['username'] filename = username + "_certificate.pem" response = make_response(response.content) response.headers.set('Content-Type', 'application/text') response.headers.set('Content-Disposition', 'attachment', filename=filename) return response else: return home()
def account(): if not is_loggedin(): return home() if request.method == "GET": session.cookies.clear() response = session.get("https://*****:*****@_!#$%^&*()<>?/\|}{~:]') regex_email = re.compile('[_!#$%^&*()<>?/\|}{~:]') if form.validate() and regex.search(request.form['firstname']) == None and regex.search(request.form['lastname']) == None and regex_email.search(request.form['email']) == None: data = None if request.form['password'] != '': data = {"lastname": request.form['lastname'], "firstname": request.form['firstname'], "email": request.form['email'], "password": request.form['password']} else : data = {"lastname": request.form['lastname'], "firstname": request.form['firstname'], "email": request.form['email']} session.cookies.clear() response = session.post("https://core:10443/account", data=data, cert=cert_key, cookies={'userID': request.cookies.get(userid)}) if response.status_code == 200: data = json.loads(response.content) return render_template('account.html', msg='Your information has been updated', form=form, lastname=data['lastname'], firstname=data['firstname'], email=data['email']) else: return home() return render_template('account.html', msg='The inputs are not correct', form=form, lastname=request.form['lastname'], firstname=request.form['firstname'], email=request.form['email'])
def searchFile(name, date): print("name {} date {}".format(name,date)) # fileName = request.args.get('name') # date = request.args.get('date') queryJson = {"query": { "statement": "SELECT * FROM enaio:object WHERE CONTAINS ('{}') AND enaio:creationDate = '{}'".format(name,date), "skipCount": 0, "maxItems": 50}} print(jsonify(queryJson)) headerDict = {} baseUrl = 'https' + '://' + 'api.yuuvis.io' header_name = 'Content-Type' header_name = 'Ocp-Apim-Subscription-Key' headerDict['Ocp-Apim-Subscription-Key'] = api_key session = requests.Session() multipart_form_data = { 'data': ('data.json', queryJson, 'application/json') } print(type(multipart_form_data)) # print("resp"+response) response = session.post(str(baseUrl + '/dms/objects/search'), json=queryJson, headers=headerDict) jsonResponse = response.content.decode('utf8').replace("'", '"') # Load the JSON to a Python list & dump it back out as formatted JSON data = json.loads(jsonResponse) s = json.dumps(data, sort_keys=True) # print(s[0][5].split(':')[0]) print(s) openfile(name+'.code-workspace') # obj = s['enaio:objectTypeId'] redirect(url_for('search', message="Success finding files"))
def createFolder(ProjectName): today = date.today() mmddyy = today.strftime("%m-%d-%y") folderName = mmddyy + "" metaDataJson = { "objects": [{"properties": {"enaio:objectTypeId" : {"value" : "userDirectory"}, "name": {"value": folderName}}}] } jsonPath = r'json/metadataparent.json' fd = os.open(jsonPath, os.O_RDWR|os.O_CREAT) with open(jsonPath, 'w') as fd: fd.write(json.dumps(metaDataJson)) headerDict = {} baseUrl = 'https' + '://' + 'api.yuuvis.io' header_name = 'Content-Type' # headerDict['Content-Type'] = 'multipart_form_data, application/x-www-form-urlencoded' # headerDict['Content-Type'] = 'application/json' header_name = 'Ocp-Apim-Subscription-Key' headerDict['Ocp-Apim-Subscription-Key'] = api_key session = requests.Session() multipart_form_data = { 'data' :('data.json', open(jsonPath, 'rb'), 'application/json') } print("resp:") response = session.post(str(baseUrl + '/dms/objects'), files=multipart_form_data, headers=headerDict) print(response.json()) addFile(folderName, ProjectName) return (response.content)
def make_post_request_with_form_data(session,formDataDefault, resOriginal, parkID ,dateTime): soup = BeautifulSoup(resOriginal.text,'lxml') form = deepcopy(formDataDefault) form = formData(soup, form) form[config.ctlUtility],form[config.ctltxtDate] = parkID ,dateTime headers = deepcopy(config.headers) res = session.post(config.BASE_URL, form, headers = headers, verify=False) return session,res
def ajax_request(session, url, params, data, retries=10, sleep=20): for _ in range(retries): response = session.post(url, params=params, data=data) if response.status_code == 200: response_dict = json.loads(response.text) return response_dict.get('page_token', None), response_dict['html_content'] else: time.sleep(sleep)
def test_unsupported_http_methods(self): """ check for use of unsupported http methods """ bad_methods = ["PUT", "DELETE", "TRACE", "CONNECT", "PATCH", "FAKE"] # create login session url = "http://localhost:8080" session = requests.session() data = {"username": "******", "password": "******"} session.post(url + "/login", data=data) # cycle through invalid methods and expect code 405 for method in bad_methods: req = requests.Request(method, url + "/") pre = session.prepare_request(req) resp = session.send(pre) self.assertEqual(resp.status_code, 405) session.close()
def ajax_request(session, url, params=None, data=None, headers=None, retries=5, sleep=20): for _ in range(retries): response = session.post(url, params=params, data=data, headers=headers) if response.status_code == 200: return response.json() if response.status_code in [403, 413]: return {} else: time.sleep(sleep)
def _create_folder(session, folder_name, parent_id="root"): cf_url = 'https://www.googleapis.com/drive/v2/files' cf_headers = {'Content-Type': 'application/json'} cf_body = {'title': folder_name, 'parents': [{'id': parent_id}], 'mimeType': "application/vnd.google-apps.folder"} cf_response = session.post(cf_url, headers=cf_headers, data=json.dumps(cf_body)) fid = cf_response.json()['id'] #print_in_color(cf_response.json()['id'], Color.PURPLE) _record_file_id(folder_name, fid)
def login(): if request.method == "POST": data = {"username": request.form['username'], "password": request.form['password']} session.cookies.clear() response = session.post("https://core:10443/login", data=data, cert=cert_key) if response.status_code == 200: res = make_response(render_template('home.html')) res.set_cookie(userid, response.cookies.get('userID'), max_age=MAX_AGE) return res else: return render_template('login.html', msg='Wrong credentials!') else: home()
def user(): payload = json.loads(request.data) request_url = url + "/api/v1/users?activate=false" data = { "profile": { "firstName": "Update", "lastName": "User", "email": payload['login'], "login": payload['login'] }, "credentials": { "password": { "value": payload['password'] } } } headers = { 'Accept': 'application/json', 'Authorization': 'SSWS ' + api_key, } session = requests.Session() session.headers.update(headers) res = session.post(request_url, json=data) if int(res.status_code) == 200: id = res.json()['id'] request_url = url + f"/api/v1/users/{id}/factors" data = { "factorType": "sms", "provider": "OKTA", "profile": { "phoneNumber": str(payload['phone']) } } res = session.post(request_url, json=data) return json.dumps({"id": str(id), "factorId": res.json()['id']}), 200
def _handle_captcha(session, response, callback): response.meta = {} captcha_solve_try = response.meta.get('captcha_solve_try', 0) url = response.url captcha = self._solve_captcha(response) if captcha is None: response = response else: meta = response.meta.copy() meta['captcha_solve_try'] = captcha_solve_try + 1 response = session.post(url, params={'field-keywords': captcha}) return response
def home(): if is_loggedin(): return render_template('home.html') else: if request.headers.get('X-SSL-Client-Cert'): data = {'crt': request.headers['X-SSL-Client-Cert']} session.cookies.clear() response = session.post("https://core:10443/login", data=data, cert=cert_key) if response.status_code == 200: res = make_response(render_template('home.html')) res.set_cookie(userid, response.cookies.get('userID'), max_age=MAX_AGE) return res else: return render_template('login.html', msg='Unknown certificate!') return render_template('login.html')
def convert(): # data = request.json email = request.form['email'] url = request.form['url'] # endpoint = url.split('https://s3.amazonaws.com/livebooth/')[1] status = '' with requests.Session() as session: r = session.post('https://transcoder.livebooth.xyz/v1/convert', json={ "url": url, "email": email }, verify=False) status = r.status_code # r = requests.post('https://khr9zw6byi.execute-api.us-west-2.amazonaws.com/dev/v1/convert', json={"url": url, "email": email}) # return redirect(url_for('share/{}'.format(endpoint))) return redirect('/share/{}'.format(url), code=302)
def index(): if request.method == 'GET': return redirect(url_for('static', filename='chatbot.html')) j = request.json sender = str(j["sender"]) message = str(j["message"]) session = requests.Session() session.trust_env = False r = session.post(os.environ["endpoint"], json={ "sender": sender, "message": message }) j = r.json() out = [] for msg in j: if "text" in msg: out.append(msg["text"]) return Response(json.dumps(out), mimetype="application/json")
def extract_data_park_sanjay_gandhi(parkID, dateTime): headers = deepcopy(config.headers) headers["Host"] = "sgnp.mahaonline.gov.in" headers["Origin"] = "https://sgnp.mahaonline.gov.in" headers["Referer"] = "https://sgnp.mahaonline.gov.in/NationalPark/Booking.aspx?ServiceID=2139" session = requests.session() res = session.get(config.BASE_URL_RAJIV, headers = headers ,verify=False) soup = BeautifulSoup(res.text,'lxml') form = deepcopy(config.formData) form = formData(soup, form ,10) form[config.ctlUtilityRajiv] = dateTime res = session.post(config.BASE_URL_RAJIV, form, headers = headers, verify=False) soup = BeautifulSoup(res.text,'lxml') content = soup.find("div", {"id":"pnlResource"}) if content: return buildRajivContent(content) return {},[],[]
def uploadToYuuvis(): baseUrl = 'https://api.yuuvis.io/dms/objects' header_name = 'Content-Type' # headerDict['Content-Type'] = 'multipart/form-data, application/x-www-form-urlencoded' headerDict = {} paramDict = {} header_name = 'Ocp-Apim-Subscription-Key' headerDict['Ocp-Apim-Subscription-Key'] = YKEY session = requests.Session() contentFilePath = './image_with_boxes.jpg' metaDataFilePath = './metadata.json' multipart_form_data = { 'data': ('metadata.json', open(metaDataFilePath, 'rb'), 'application/json'), 'mario': ('image_with_boxes.jpg', open(contentFilePath, 'rb'), 'application/jpeg') } response = session.post(baseUrl, files=multipart_form_data, headers=headerDict) print(response.json()) return response.json()
def existingPatientLookup( base_url, project_id, cloud_region, dataset_id, fhir_store_id, query ): """ Searches resources in the given FHIR store. It uses the _search POST method and a query string containing the information to search for. In this sample, the search criteria is 'family:exact=Smith' on a Patient resource. """ url = "{}/projects/{}/locations/{}".format(base_url, project_id, cloud_region) fhir_store_path = "{}/datasets/{}/fhirStores/{}/fhir".format( url, dataset_id, fhir_store_id ) resource_path = "{}/Patient/_search{}".format(fhir_store_path, query) # Make an authenticated API request session = get_session() headers = {"Content-Type": "application/fhir+json;charset=utf-8"} response = session.post(resource_path, headers=headers) response.raise_for_status() resources = response.json() print( "Using POST request, found a total of {} Patient resources:".format( resources["total"] ) ) print(json.dumps(resources, indent=2)) id = resources["entry"][0]["resource"]["id"] app.logger.info("Got patient id {}".format(id)) return id, resources
def delete_room(): form = DeleteRoomForm() form.room.choices = get_room_ids() if form.validate_on_submit(): room_id = form.room.data payload = {'room_id': room_id} header = {"Content-Type": "application/json"} r = session.post(DB_ADAPTER_URL + '/delete_room', headers=header, json=payload) title = 'Operation result' description = 'Delete room %s' % (room_id) status = r.json()['status'] reason = r.json()['reason'] return render_template('result.html', title=title, description=description, status=status, reason=reason) return render_template('form.html', form=form, title='Delete a room')
def addFile(folder, ProjectName): queryJson = {"query": { "statement": "SELECT * FROM enaio:object WHERE CONTAINS ('{}')".format(folder), "skipCount": 0, "maxItems": 50}} metaDataJson = { "objects": [{"properties": {"enaio:objectTypeId" : {"value" : "documentType1"}, "name": {"value": ProjectName}, "enaio:parentId": {"value": "8b3b452c-07d2-489a-8b79-91d46f802bac"} }, "contentStreams": [{"cid": "cid_63apple"}] }] } jsonPath = "json/metadatachild.json" contentPath = "content/error8.txt" ## this is the error file you are trying to upload fd = os.open(jsonPath, os.O_RDWR | os.O_CREAT) with open(jsonPath, 'w') as fd: fd.write(json.dumps(metaDataJson)) headerDict = {} baseUrl = 'https' + '://' + 'api.yuuvis.io' header_name = 'Content-Type' header_name = 'Ocp-Apim-Subscription-Key' headerDict['Ocp-Apim-Subscription-Key'] = api_key session = requests.Session() multipart_form_data = { 'data' :('data.json', open(jsonPath, 'rb'), 'application/json'), 'cid_63apple' : ('content.pdf', open(contentPath, 'rb'), 'application/pdf') } print(type(multipart_form_data)) #print("--searchResp") #searchResp = session.post(str(baseUrl + '/dms/objects/search'), json=queryJson, headers=headerDict) #print(searchResp.json()) response = session.post(str(baseUrl + '/dms/objects'), files=multipart_form_data, headers=headerDict) print("--resp--") print(response.json()) return (response.content)
def main(): user_manager = current_app.user_manager login_form = user_manager.login_form(request.form) register_form = user_manager.register_form(request.form) if request.method == 'POST': # swipe='%LTCC0000000000006580?;000000000000006580?' # true_swipe = {'swipe':swipe} # test_data = { # 'cardid':'0000000000006506', # 'FirstName':'TestFirst2', # 'LastName':'TestLast2', # 'phone':'', # 'phone2':'', # 'areacode':'813', # 'Sex':'F', # 'CodeName':'TESTTEST2', # 'GroupType':'', # 'email':'', # 'dob_y':'2001', # 'dob_m':'01', # 'dob_d':'02' # } # test_waiver = { # 'cardid':swipe.split('?')[1][1:], # 'codename':'TestCode', # 'custid':swipe.split('?')[1][1:], # } # test_photo = { # 'cardid':swipe.split('?')[1][1:], # 'data':'' # } # birth = request.form['birth'].split('/') # entry_data = { # 'cardid':swipe.split('?')[2][1:], # 'FirstName':request.form['first_name'].strip().title(), # 'LastName':request.form['last_name'].strip().title(), # 'phone':'', # 'phone2':'', # 'areacode':'813', # 'Sex':request.form['sex'].strip().upper(), # 'CodeName':request.form['codename'].strip().upper(), # 'GroupType':'', # 'email':request.form['email'].strip().lower(), # 'dob_y':birth[2], # 'dob_m':birth[0], # 'dob_d':birth[1] # } headers={ 'Accept':'*/*', 'Origin':'http://kiosk.centermanagerpro.com', 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8', 'Referer':'http://kiosk.centermanagerpro.com/230/', 'Accept-Encoding':'gzip,deflate,sdch', 'Accept-Language':'en-US,en;q=0.8', 'Connection':'Keep-Alive', } # auth = session.get('http://*****:*****@kiosk.centermanagerpro.com/230') # if auth.status_code == 200: global swipe global cardid global codename session = requests.Session() if 'file' in request.form: photo = request.form['file'] photo_data = { 'cardid':cardid, 'custid':cardid, 'data':photo } print(photo[:100]) swipe_data = { 'swipe':'%LTCC'+cardid+'?;00'+cardid+'?'} uploadphoto = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/uploadphoto.php', data=photo_data, headers=headers) print(uploadphoto.text) flash('Signed in successfully! You are ready to play!') return render_template('kiosk.html',laser=True) if 'swipe' not in request.form: if 'waiver' not in request.form: if 'birth' in request.form: birth = request.form['birth'].split('/') cardid = swipe.split('?')[0][5:] codename = request.form['codename'].strip().upper() entry_data = { 'cardid':cardid, 'FirstName':request.form['first_name'].strip().title(), 'LastName':request.form['last_name'].strip().title(), 'phone':'', 'phone2':'', 'areacode':'813', 'Sex':request.form['sex'].strip().upper(), 'CodeName':codename, 'GroupType':'', 'email':request.form['email'].strip().lower(), 'dob_y':birth[2], 'dob_m':birth[0], 'dob_d':birth[1] } print(entry_data) else: email = request.form['email'] print(email) customer = Customer.query.filter(Customer.email==email).first() if customer is not None: flash('Logged in') print(customer.email) laser = Laser.query.filter(Laser.customer_id==customer.id).first() if laser is None: codename = customer.first_name else: codename = laser.codename birth = str(customer.birth).split('-') print(customer.birth) entry_data = { 'cardid':cardid, 'FirstName':customer.first_name, 'LastName':customer.last_name, 'phone':'', 'phone2':'', 'areacode':'813', 'Sex':{0:'F',1:'M',2:"F"}[customer.sex], 'CodeName':codename, 'GroupType':'', 'email':customer.email, 'dob_y':birth[2], 'dob_m':birth[0], 'dob_d':birth[1] } else: flash('Email not found') return render_template('kiosk.html', swipe=True, laser=True) savedata = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/savedata.php', data=entry_data, headers=headers) print(savedata.text) json_data = json.loads(savedata.text) if json_data['success']: return render_template('kiosk.html', waiver=True, laser=True) else: waiver_data = { 'cardid':cardid, 'codename':codename, 'custid':cardid } savewaiver = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/savewaiver.php', data=waiver_data, headers=headers) print(savewaiver.text) return render_template('kiosk.html', pic=True, laser=True) elif request.form['swipe'][:5] == "%LTCC": swipe = request.form['swipe'] swipe_data = { 'swipe':swipe } cardid = swipe.split('?')[0][5:] validate_swipe = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/validateswipe.php', data=swipe_data, headers=headers) json_data = json.loads(validate_swipe.text) print(swipe) if validate_swipe.status_code == 200 and json_data['reg']: print('passing') return render_template('kiosk.html', swipe=True, laser=True) else: flash('Card Not Registered') return render_template('kiosk.html', swipe=False, laser=True) elif request.form['swipe'] == '' or request.form['swipe'][0] != "%": flash('Card Read Error') return render_template('kiosk.html', swipe=False, laser=True) else: flash('not yet') return render_template('kiosk.html', swipe=True, laser=True) # uploadphoto = session.post('http://*****:*****@kiosk.centermanagerpro.com/230/ajax/uploadphoto.php', data=test_photo, headers=headers) # print(uploadphoto.text) return render_template('kiosk.html', swipe=False, laser=True)