Skip to content

Instantly share code, notes, and snippets.

@naitsric
Last active January 23, 2017 19:34
Show Gist options
  • Save naitsric/18fe3f70d0c0e15afe6f44021cfd63b5 to your computer and use it in GitHub Desktop.
Save naitsric/18fe3f70d0c0e15afe6f44021cfd63b5 to your computer and use it in GitHub Desktop.
# coding=utf-8
import requests
from bs4 import BeautifulSoup, NavigableString
def find_view_state(html):
params = html.split("|")
for param in params:
if '/wEP' in param:
return param
return None
proxies = {
'http': 'http://192.168.101.37:8081',
'https': 'http://192.168.101.37:8081',
}
headers = {
'Host': '200.13.232.197',
'Connection': 'keep-alive',
'Accept-Language': 'es-ES,es;q=0.8,en;q=0.6',
'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding': 'gzip,deflate,sdch',
'Connection': 'keep-alive',
'Cache-Control': 'no-cache',
'Pragma': 'no-cache',
'Cookie': '',
'Upgrade-Insecure-Requests': '1',
}
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get('http://httpbin.org/cookies')
url = "https://200.13.232.197/PRV/uif/default.aspx"
cookie = {}
res = s.get(
url,
headers=headers,
verify=False,
proxies=proxies,
)
for part in res.headers.get("set-cookie").split(";"):
if part.__contains__("ASP.NET_SessionId"):
# cookie['ASP.NET_SessionId'] = part.split("=")[1]
# cookie = {'ASP.NET_SessionId': part.split("=")[1]}
sessionId = part.split("=")[1]
# headers['Cookie'] += "ASP.NET_SessionId={0}".format(sessionId)
# headers['Origin'] = "/PRV/uif/default.aspx"
# if part.__contains__("used_modules"):
# server_pool_value = "/PRV/UIF|/PRV/Quotation"
# cookie['used_modules'] = server_pool_value
# # cookie = {'used_modules': part.split("=")[1]}
# #part.split("=")[1]
# # headers['Cookie'] += "; used_modules={0}".format(server_pool_value)
# headers['Origin'] = "/PRV/uif/default.aspx"
jsssesionid = None
xsrf_token = None
url = "https://200.13.232.197/PRV/uif/login.ashx"
res = s.post(
url,
headers=headers,
data={'password': 'xxx|{0}'.format(sessionId), 'user': 'xxx'},
verify=False,
cookies=cookie
)
headers['Cookie'] = res.request.headers.get("Cookie")
# print "*"*20
# print headers['Cookie']
# print res.headers.__dict__
# print "*"*20
# for part in headers['Cookie'].split(";"):
# if part.__contains__(".SistranAuthCookie"):
# cookie['.SistranAuthCookie'] = part.split("=")[1]
# server_pool_value = part.split("=")[1]
# headers['Cookie'] += "; .SistranAuthCookie={0}".format(server_pool_value)
# headers['Origin'] = "/PRV/uif/login.ashx"
headers[
'Accept'] = "application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*"
headers['Referrer'] = "https://200.13.232.197/PRV/uif/ActionFrame.aspx?f=uif/ActionWebForm.aspx"
del headers['Content-Type']
del headers['Accept-Encoding']
del headers['Upgrade-Insecure-Requests']
url = "https://200.13.232.197/PRV/Quotation/uif/ActionWebForm.aspx?form=QuotationRiskLocationCreate&action=new"
res = s.get(
url,
headers=headers,
verify=False,
proxies=proxies,
)
headers['Accept'] = "text/html, application/xhtml+xml, / "
headers['Referrer'] = "https://200.13.232.197/PRV/uif/MainFrame.aspx?f=welcome.aspx"
headers['User-Agent'] = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) "
# 1363
url = "https://200.13.232.197/PRV/quotation/tempquotationsearchuimanager.aspx?type=quotation"
res = s.get(
url,
headers=headers,
verify=False,
proxies=proxies,
)
soup = BeautifulSoup(res._content, "html.parser")
__VIEWSTATE = soup.find("input", {"id": "__VIEWSTATE"})['value']
# 1582
# POST https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1 HTTP/1.1
data = {
'ctl00': '_QuotationPrincipalControl$_IssuePrincipalControl$UpdatePanel8|_QuotationPrincipalControl__IssuePrincipalControl__policyHolder',
'__EVENTTARGET': '_QuotationPrincipalControl__IssuePrincipalControl__policyHolder',
'__EVENTARGUMENT': 'Changed',
'ctl00_HiddenField': '',
'__LASTFOCUS': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany': '_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany$_newInsuredPerson',
'__VIEWSTATE': __VIEWSTATE,
'_QuotationPrincipalControl$_hiddenValue': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_1gPolicyNumber$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentDays$Text': '30',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$ID': '5265',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgentAgency': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$ID': '100304638|1| |1070611554',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$Text ': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_capacity': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_fiscalAddress': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_branch ': '33',
'_QuotationPrincipalControl$_IssuePrincipalControl$_salePoint ': '1904',
'_QuotationPrincipalControl$_IssuePrincipalControl$_prefix ': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_product ': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyTransactionType ': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyNumber': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_PolicyType ': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_quotationDate$Text ': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFrom$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_sinceTimedrop ': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_SinceTimeDropMin': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentTo$Text ': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_thruTime': '00:00',
'_QuotationPrincipalControl$_IssuePrincipalControl$_days$Text': '365',
'_QuotationPrincipalControl$_IssuePrincipalControl$_JustificationReason': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currency': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_exchangeRate$Text': '1,000000',
'_QuotationPrincipalControl$_IssuePrincipalControl$_correlativePolicy$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFromRequest$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentToRequest$Text': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_TypeValidation': '1',
'__ASYNCPOST': 'true',
}
headers['Referrer'] = "https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1"
url = 'https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1'
res = s.post(
url,
headers=headers,
data=data,
verify=False,
proxies=proxies,
cookies=cookie
)
__VIEWSTATE = find_view_state(res._content)
# 1591
# POST https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1 HTTP/1.1
data = {
'ctl00': '_QuotationPrincipalControl$_IssuePrincipalControl$UpdatePanel5|_QuotationPrincipalControl$_IssuePrincipalControl$_prefix',
'ctl00_HiddenField': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany': '_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany$_newInsuredPerson',
'_QuotationPrincipalControl$_hiddenValue': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_1gPolicyNumber$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentDays$Text': '30',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$ID': '5265',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgentAgency': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$ID': '100304638|1| |1070611554',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$Text': 'COLLAZOS SIERRA HEBER LEONARDO (100304638)',
'_QuotationPrincipalControl$_IssuePrincipalControl$_capacity': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mailingAddress': '1|100304638|1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_fiscalAddress': 'KR 15 80 90 SANTAFE DE BOGOTA DC BOGOTA COLOMBIA',
'_QuotationPrincipalControl$_IssuePrincipalControl$_branch': '33',
'_QuotationPrincipalControl$_IssuePrincipalControl$_salePoint': '1904',
'_QuotationPrincipalControl$_IssuePrincipalControl$_prefix': '7',
'_QuotationPrincipalControl$_IssuePrincipalControl$_product': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyTransactionType': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyNumber': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_PolicyType': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_quotationDate$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFrom$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_sinceTimedrop': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_SinceTimeDropMin': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentTo$Text': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_thruTime': '00:00',
'_QuotationPrincipalControl$_IssuePrincipalControl$_days$Text': '365',
'_QuotationPrincipalControl$_IssuePrincipalControl$_JustificationReason': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currency': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_exchangeRate$Text': '1,000000',
'_QuotationPrincipalControl$_IssuePrincipalControl$_correlativePolicy$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFromRequest$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentToRequest$Text': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_TypeValidation': '1',
'__EVENTTARGET': '_QuotationPrincipalControl$_IssuePrincipalControl$_prefix',
'__EVENTARGUMENT': '',
'__LASTFOCUS': '',
'__VIEWSTATE': __VIEWSTATE,
'__ASYNCPOST': 'true',
}
headers['Referrer'] = "https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1"
url = 'https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1'
res = s.post(
url,
headers=headers,
data=data,
verify=False,
proxies=proxies,
cookies=cookie
)
__VIEWSTATE = find_view_state(res._content)
# 1594
# POST https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1 HTTP/1.1
data = {
'ctl00 ': '_QuotationPrincipalControl$_IssuePrincipalControl$UpdatePanel6|_QuotationPrincipalControl$_IssuePrincipalControl$_product',
'ctl00_HiddenField': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany': '_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany$_newInsuredPerson',
'_QuotationPrincipalControl$_hiddenValue': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_1gPolicyNumber$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentDays$Text': '30',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$ID': '5265',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgentAgency': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$ID': '100304638|1| |1070611554',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$Text': 'COLLAZOS SIERRA HEBER LEONARDO (100304638)',
'_QuotationPrincipalControl$_IssuePrincipalControl$_capacity': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mailingAddress': '1|100304638|1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_fiscalAddress': 'KR 15 80 90 SANTAFE DE BOGOTA DC BOGOTA COLOMBIA',
'_QuotationPrincipalControl$_IssuePrincipalControl$_branch': '33',
'_QuotationPrincipalControl$_IssuePrincipalControl$_salePoint': '1904',
'_QuotationPrincipalControl$_IssuePrincipalControl$_prefix': '7',
'_QuotationPrincipalControl$_IssuePrincipalControl$_product': '33|0|7',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyTransactionType': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyNumber': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_PolicyType': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_quotationDate$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFrom$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_sinceTimedrop': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_SinceTimeDropMin': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentTo$Text': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_thruTime': '00:00',
'_QuotationPrincipalControl$_IssuePrincipalControl$_days$Text': '365',
'_QuotationPrincipalControl$_IssuePrincipalControl$_JustificationReason': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currency': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_exchangeRate$Text': '1,000000',
'_QuotationPrincipalControl$_IssuePrincipalControl$_correlativePolicy$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFromRequest$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentToRequest$Text': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_TypeValidation ': '1',
'__EVENTTARGET ': '_QuotationPrincipalControl$_IssuePrincipalControl$_product',
'__EVENTARGUMENT': '',
'__LASTFOCUS': '',
'__VIEWSTATE': __VIEWSTATE,
'__ASYNCPOST': 'true',
}
headers['Referrer'] = "https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1"
url = 'https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1'
res = s.post(
url,
headers=headers,
data=data,
verify=False,
proxies=proxies,
cookies=cookie
)
__VIEWSTATE = find_view_state(res._content)
# 1599
# POST https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1 HTTP/1.1
data = {
# ctl00_HiddenField
'_QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany': 'QuotationPrincipalControl$_IssuePrincipalControl$_newInsuredPersonOrCompany$_newInsuredPerson',
'_QuotationPrincipalControl$_hiddenValue': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_1gPolicyNumber$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentDays$Text': '30',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgent$ID': '5265',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mainAgentAgency ': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$ID ': '100304638|1| |1070611554',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyHolder$Text ': 'COLLAZOS SIERRA HEBER LEONARDO (100304638)',
'_QuotationPrincipalControl$_IssuePrincipalControl$_capacity': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_mailingAddress ': '1|100304638|1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_fiscalAddress ': 'KR 15 80 90 SANTAFE DE BOGOTA DC BOGOTA COLOMBIA',
'_QuotationPrincipalControl$_IssuePrincipalControl$_branch ': '33',
'_QuotationPrincipalControl$_IssuePrincipalControl$_salePoint ': '1904',
'_QuotationPrincipalControl$_IssuePrincipalControl$_prefix ': '7',
'_QuotationPrincipalControl$_IssuePrincipalControl$_product ': '33|0|7',
'_QuotationPrincipalControl$_IssuePrincipalControl$_policyNumber': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_PolicyType ': '1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_quotationDate$Text ': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFrom$Text': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_sinceTimedrop ': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_SinceTimeDropMin': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentTo$Text ': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_days$Text ': '365',
'_QuotationPrincipalControl$_IssuePrincipalControl$_JustificationReason ': '-1',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currency': '0',
'_QuotationPrincipalControl$_IssuePrincipalControl$_exchangeRate$Text ': '1,000000',
'_QuotationPrincipalControl$_IssuePrincipalControl$_correlativePolicy$Text': '',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentFromRequest$Text ': '10/06/2016',
'_QuotationPrincipalControl$_IssuePrincipalControl$_currentToRequest$Text ': '10/06/2017',
'_QuotationPrincipalControl$_IssuePrincipalControl$_TypeValidation ': '1',
'_next ': 'Siguiente',
'__EVENTTARGET': '',
'__EVENTARGUMENT': '',
'__LASTFOCUS': '',
'__VIEWSTATE': __VIEWSTATE,
}
headers['Referrer'] = "https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1"
url = 'https://200.13.232.197/PRV/quotation/QuotationWizard.aspx?TempType=1&TransactionType=1&SubscriptionAction=1'
res = s.post(
url,
headers=headers,
data=data,
verify=False,
proxies=proxies,
cookies=cookie
)
soup = BeautifulSoup(res._content, "html.parser")
__VIEWSTATE = soup.find("input", {"id": "__VIEWSTATE"})['value']
#1623
#GET https://200.13.232.197/PRV/quotation/RisksPage.aspx?CoveredRiskTypeCode=1&PrefixCode=7 HTTP/1.1
url = "https://200.13.232.197/PRV/quotation/RisksPage.aspx?CoveredRiskTypeCode=1&PrefixCode=7"
res = s.get(
url,
headers=headers,
verify=False,
proxies=proxies,
)
print res._content
#1646
# GET https://200.13.232.197/PRV/quotation/RiskAutomobileCreate.aspx?RiskId=-1&RiskDescription=&PrefixCode=7&InspectionId=-1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment