python_request使用备忘录 (持续更新。。。)
request.post请求参数传递:
1、 data 和json的区别:
data
数据报文:dict字典类型,那么默认情况下请求头:application/x-www.form-urlencoded,标识以form表单的方式传参,格式:a=1&b=3
数据报文:str类型,那么默认情况下:text/plan
json
数据报文:不管是dict还是str类型,默认都是application/json 格式:{"a":1,"b":3}
json.dump(data) 把字典格式的数据转换为str格式
json.loads(res.text) 把str格式转换为字典格式
总结:
data只能传简单的只有键值对的dict(仅1层嵌套) 或者是str格式。
json只能传dict格式(简单或多层嵌套的均支持)
1、传参json格式 定义变量dataDict={"key":"value"} 发送请求 res = requests.request("post", url=host + url, json=dataDict, headers=header) 2、传参form表单类型 定义变量dataString="?" 发送请求 res = requests.request("post", url=host + url, data=datastring, headers=header)
header['Content-Type']="application/x-www-form-urlencoded" dataDict = "loginIp=&username="+kwargs['name']+"&password="+kwargs['pwd'] res = requests.request("post", url=host + dataFromFile['ID_FMSloginPath'], data=dataDict, headers=header)
2、python生成随机数
# 生成 0 ~ 9 之间的随机数
# 导入 random(随机数) 模块
import random
print(random.randint(0,9))
3、pycharm编辑器的主题、字体颜色、大小
点击菜单 File => Settings,打开 PyCharm 设置对话框
点击 Appearance & Behavior => Appearance,设置 IDE 主题 (Theme),推荐 Darcula
点击 Editor => Font 设置代码编辑器的字体和字号
字体 (Font) 推荐使用 DejaVu Sans Mono,真心漂亮
字号 (Size) 推荐设置为 14,默认的 12 偏小,看久了辣眼睛
点击 Editor => Color Scheme 设置代码编辑器样式 (Color Scheme),推荐 Monokai
4、header 设置正确的重要性
起因: 同1个接口、相同请求参数,header不同
定位到原因:是header中授权字段传递有误,header中的key值不同,出现类似的场景,可以重新抓取原请求的header,进行确认。
备注: 都在后台系统,不同的接口请求header 可能不一样,需要考虑差异
response=requests.post(url=host+path_preLogin,data=param,headers=headers)
| 请求返回的是HTML |
{
"Connection":"keep-alive", "Accept":"application/json, text/plain, */*", "Accept-Language":"zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding":"gzip, deflate, br", "Content-Type":"application/x-www-form-urlencoded", "lang":"zh", "fusetoken":"eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNp8j0FPhDAQhf-KmTMkLTDQcjPxrlFv1pChDLGmwGZpE5PN_ndHLl5c5_jmve_NXGDPI_Rwn6eQhsenl-GV_ccaPEUogLzf8pqGMN205J3Px75tVaVkUBWwnXg9xDXH-ItZaeH_QectsgR3cV0cVELUDnoHDzxTjunuWfYOCgfoR9uinr3uGkXItbKoeJoO984pRV5YKunokh-XkBxcpWf3cp3w3_6g3gy-S5C_TtDrFq1qta3rAgKlQzC2Q_wRPlMQMCmlZ0NYNrqay0YZLs2IXBJWxndYd8QVXL8BAAD__w.rwm-rG0Vvrq5YZEvgbgSrtTWDUerBchy-BqBNlAi6tU", "charset":"utf-8" } |
| 请求返回的是json格式 |
{
|
| response.content: b'\n\n\n<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta charset="UTF-8">\n<link href="/insurance-finance-vs/common-resource/cdn/css/ladda-themeless.min.css"\n\trel="stylesheet">\n<link\n\thref="/insurance-finance-vs/common-resource/css/slide-unlock.css"\n\trel=\'stylesheet\' type=\'text/css\' />\n\n<!-- \xe5\xbc\xb9\xe5\x87\xba\xe6\xa1\x86\xe5\xb0\x81\xe8\xa3\x85CSS -->\n<link rel="stylesheet"\n\thref="/insurance-finance-vs/lobibox-resource/dist/css/lobibox.min.css" />\n<link rel="stylesheet"\n\t\t href="/insurance-finance-vs/common-resource/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css" />\n<link href="/insurance-finance-vs/common-resource/cdn/css/bootstrap.min.css" rel="stylesheet">\n\n<link href="/insurance-finance-vs/common-resource/css/bootstrap-editable.css" rel="stylesheet"/>\n<link href="/insurance-finance-vs/common-resource/cdn/css/font-awesome.min.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/cdn/css/animate.min.css"\n\t\t rel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/css/myicon.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/js/kindeditor-4.1.7/themes/default/default.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/css/viewer.min.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/cdn/css/bootstrap-switch.css"\n\t\t\trel="stylesheet">\n<link rel="stylesheet"\n\t\t href="/insurance-finance-vs/lobibox-resource/dist/css/lobibox.min.css" />\n<link href="/insurance-finance-vs/common-resource/cdn/css/bootstrap-datetimepicker.min.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/cdn/css/bootstrapValidator.min.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/cdn/css/bootstrap-table.min.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/css/style.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/css/flat-blue.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/css/flat-btn.css"\n\t\t\trel="stylesheet">\n<link href="/insurance-finance-vs/common-resource/css/login.css"\n\t\t\trel=\'stylesheet\' type=\'text/css\' />\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n<META HTTP-EQUIV="pragma" CONTENT="no-cache">\n<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">\n<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">\n<title>Fuse</title>\n<meta name="keywords"\n\tcontent="Flat Dark Web Login Form Responsive Templates, Iphone Widget Template, Smartphone login forms,Login form, Widget Template, Responsive Templates, a Ipad 404 Templates, Flat Responsive Templates" />\n</head>\n\n<body class="clearfix">\n\t<div class="login">\n\t\t<img class="login_logo" src="/insurance-finance-vs/common-resource/images/logo1_red@3x.png">\n\t \n\t <div class="login_hr"></div>\n\t <div class="login_tit">Back Office Management System</div>\n\t\t<div class="login-form">\n\t\t\t<div class="head-info"><div class="head-tx">Login</div></div>\n\t\t\t<form id="loginform" onsubmit="return checkSlider();" role="form"\n\t\t\t\taction="/insurance-finance-vs/home.do" method="post"\n\t\t\t\tclass="login-box clearfix">\n\t\t\t\t<input type="hidden" name="loginIp"/>\n\t\t\t\t<div class="login_l">\n\t\t\t\t\t<div class="login_pic">\n\t\t\t\t\t\t<img src="/insurance-finance-vs/common-resource/images/timg.jpg"/>\n\t\t\t\t\t</div>\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\t<p>Welcome to FUSE</p>\n\t\t\t\t</div>\n\t\t\t\t<div class="login_r">\n\t\t\t\t\t<div class="name">\n\t\t\t\t\t\t<input type="text" class="login_name" id="userName" name="username"\n\t\t\t\t\t\t\tplaceholder="Please enter your Account ID" value="" onBlur="tname()"\n\t\t\t\t\t\t\tonFocus="this.value = \'\';" autocomplete="off">\n\t\t\t\t\t</div>\n\t\t\t\t\t<small class="personnal" id="nullname"> </small>\n\t\t\t\t\t<div class="key">\n\t\t\t\t\t\t<input type="password" class="login_password" placeholder="please enter your password" name="password"\n\t\t\t\t\t\t\tvalue="" id="password" onBlur="ppwd()" onFocus="this.value = \'\';"\n\t\t\t\t\t\t\tautocomplete="off">\n\t\t\t\t\t</div>\n\t\t\t\t\t<small id="nullpwd"> </small>\n\t\t\t\t\t<div id="slider" class="active">\n\t\t\t\t\t\t<div id="slider_bg"></div>\n\t\t\t\t\t\t<span class="fa fa-angle-double-right" id="label"></span> <span\n\t\t\t\t\t\t\tid="labelTip">Drag verification slider</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<button type="submit" class="sub-btn ladda-button sub signin"\n\t\t\t\t\t\t\tdata-style="zoom-in" id="loginSubmit" onclick="regs()"\n\t\t\t\t\t\t\tdisabled="disabled">\n\t\t\t\t\t\t<span class="ladda-label">LOGIN</span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t</form>\n\n\t\t</div>\n\t</div>\n\t<div class="modal animated " id="verificateCodeModal" data-backdrop="static"\n\t\t tabindex="-1" role="dialog" aria-labelledby="verificateCodeModal">\n\t\t<div class="modal-dialog" role="document">\n\t\t\t<div class="modal-content"></div>\n\t\t</div>\n\t</div>\n\t<div class="modal animated " id="changePasswordModal" data-backdrop="static"\n\t\t tabindex="-1" role="dialog" aria-labelledby="changePasswordModal">\n\t\t<div class="modal-dialog" role="document">\n\t\t\t<div class="modal-content">\n\t\t\t\t<div class="modal-header">\n\t\t\t\t\t<button type="button" class="close" id="cancelBtu" data-dismiss="modal"\n\t\t\t\t\t\t\taria-label="Close">\n\t\t\t\t\t\t<span aria-hidden="true">×</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<h4 class="modal-title" id="exampleModalLabel">\n\t\t\t\t\t\tChange Password\n\t\t\t\t\t</h4>\n\t\t\t\t</div>\n\t\t\t\t<div class="modal-body">\n\t\t\t\t\t<p style="text-align: center">Your password has expired, please change your password and login again !</p>\n\t\t\t\t</div>\n\t\t\t\t<div class="modal-footer">\n\t\t\t\t\t<button type="button" class="bttn bttn-primary"\n\t\t\t\t\t\t\tonclick="javascript:changePassword();">\n\t\t\t\t\t\tChange Password\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class="modal animated " id="changePasswordModal" data-backdrop="static"\n\t\t tabindex="-1" role="dialog" aria-labelledby="changePasswordModal">\n\t\t<div class="modal-dialog" role="document">\n\t\t\t<div class="modal-content"></div>\n\t\t</div>\n\t</div>\n\t<script type="text/javascript">\n\t\tvar contextPath = \'/insurance-finance-vs\';\n\t</script>\n\n\t\n\n<script type="text/javascript">\n\tvar contextPath = \'/insurance-finance-vs\';\n\tvar languageJson = new Object();\n\tlanguageJson.language_vs = "null";\n\tvar LightFormMes = new Object();\n\tLightFormMes.successCodeList = function(list){\n\t\t$.each(o, function(t, o) {\n\t\t\tLightCommonAlert.alertSuccess(\'Success information\', o)\n\t\t})\n\t}\n</script>\n<script src="/insurance-finance-vs/common-resource/js/jquery-3.2.1.min.js"></script>\n<script src="/insurance-finance-vs/common-resource/cdn/js/tether.min.js"></script>\n<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>\n<script\n\t\tsrc="/insurance-finance-vs/common-resource/cdn/js/bootstrap.min.js"></script>\n<script\n\t\tsrc="/insurance-finance-vs/common-resource/cdn/js/bootstrap-treeview.min.js"></script>\n<script src="/insurance-finance-vs/common-resource/cdn/js/echarts.min.js"></script>\n<script\n\t\tsrc="/insurance-finance-vs/common-resource/js/viewer.min.js"></script>\n\n<script\n\t\tsrc="/insurance-finance-vs/common-resource/js/kindeditor-4.1.7/kindeditor-min.js"></script>\n<script\n\t\tsrc=…… |
| response.text: {"data":null,"errorMsg":"","rows":[{"auditingAging":null,"commissionRateAgent":0.200000,"affixId":null,"PROCINSTID":"6bf0f610-c0e8-11e9-8ac9-00163e00eccc","commissionConfirmAffixId":null,"bizId":1,"firstUplineAgentName":"BUDI012","rmBranchName":"","thirdUplineAgentCommissionRate":null,"insuredName":"dfsewf","discountPartnerPay":0,"mainPolicyCode":"FUSE-20190817-120300055803246","campaignType":null,"policyAutoType":2,"secondUplineAgentCommissionRate":null,"discountMarkUp":null,"thirdUplineAgentName":"BUDI010","insuranceCompanyCode":"02130002850000","isGiveMoney":2,"roleName":null,"forthUplineAgentCommission":0.000000,"isCampaign":0,"paymentPeriod":1656734907000,"accountCommissionTax":2548.000000,"basicPremium":637000.000000,"supplierCode":"02130003430000","receivableSpecialBonusProcessId":null,"forthUplineAgentMobile":"628811111119","amountToInsurance":null,"adminFeeMarkUp":null,"companySharePercentage":null,"campaignRate":null,"forthUplineAgentCommissionRate":null,"email":"574737373@qq.com","additionalReconId":null,"deductionPoints":0,"totalPremium":647000.000000,"specialBonusNet":null,"specialBonusRate":null,"commissionType":1,"confirmedPaymentTime":null,"insuranceCompanyName":"PT Asuransi Simas Insurtech","secondUplineAgentMobile":"62881111111111","commissionAging":null,"productCode":"CPT0000000000052","autoVerify":2,"createTime":1566015209000,"payToWho":null,"policyCampaignType":null,"channelName":"H-TEST CD","totalPaymentAmount":0.000000,"markupPayment":519600.000000,"premiumNoteAffixId":null,"businessSource":"100001","uplineTestAccount1":0,"payTime":1566014642000,"uplineTestAccount2":0,"uplineTestAccount3":0,"uplineTestAccount4":0,"uplineTestAccount5":0,"uplineTestAccount6":0,"source":1,"verifyTime":null,"confirmedBonusPointsPayment":647000.000000,"pointPayment":null,"paymentInsuranceCompanyCode":"","postPolicyPoint":0E-7,"specialRateAgent":0.000000,"isVvipPartner":0,"isSpecialBonus":null,"ePolicyPoints":0.000000,"bonusPayment":null,"operatorId":"test finance 2","bankAccount":"","secondUplineAgentCommission":0.000000,"thirdUplineAgentMobile":"62881111111110","name":"ddsad","paymentMethod":"Bayar Cash","commissionBeforeTax":null,"uplineAgentCommissionRate6":0.000000,"uplineAgentCommissionRate5":null,"paymentAgingDay":null,"uplineAgentCommissionRate4":null,"uplineAgentCommissionRate3":null,"uplineAgentCommissionRate2":null,"uplineAgentCommissionRate1":null,"specialBonusIncomeTaxRate":null,"commissionRate":null,"bizType":1,"reconcileId":null,"commissionNet":null,"policyStatus":"104","associatedNumber":"","carYear":"2019","paymentCustomerAndInsuranceCompanyDifference":null,"productCategory":"PCS0000000000013","allPolicyAmount":647000.000000,"rejectedByFinanceTime":null,"settlementStatus":"101","campaignPoint":null,"rmBranch":null,"isRenew":0,"accountCommission":127400.000000,"partnerSysLabels":null,"inputtedPaymentAmount":647000.000000,"isCancel":2,"mobile":"621581111119","uplineAgentMobile4":"628811111119","uplineAgentMobile5":"628811111118","uplineAgentMobile6":"628811111117","specialBonusBeforeTax":null,"vatSpecialBonus":null,"uplineAgentMobile1":"62881111111112","uplineAgentMobile2":"62881111111111","uplineAgentMobile3":"62881111111110","partnerId":"99270356","fifthUplineAgentMobile":"628811111118","businessType":1,"handlerTypeCode":null,"isEndorsement":0,"discount":0.000000,"policyFrom":"App","deductionPoint":0E-7,"vaNumber":"","corporateName":null,"receivableCommissionProcessId":null,"policyPoints":0.000000,"payType":"1","paymentId":null,"supplier":"CEKPREMI","id":1536,"handlerTypeName":"","payableProcessId":null,"firstUplineAgentCommission":0.000000,"referenceName":null,"paymentAging":null,"fifthUplineAgentName":"BUDI008","specialBonusAging":null,"RewardPoints":null,"mixPayType":0,"policyEffectiveTime":1565902800000,"vatCommission":null,"secondUplineAgentName":"BUDI011","actualPaymentAmount":647000.000000,"phone":"909099","commissionVatRate":null,"discountPayment":0,"paymentInsuranceCompany":"","netPayment":2,"agentType":"100001","commissionNoteAffixId":null,"installmentTenor":null,"operatorName":"testing","agentBranchName":"","companySource":1,"rmHandler":"","deductionRate":0.0,"specialBonusActiveDate":1656734907000,"ASSIGNEE":"test finance 2","transactionBonus":127400.000000,"totalAmountPayableToInsuranceCompany":null,"sixthUplineAgentCommissionRate":0.000000,"bankCode":"","creditCardPayType":null,"totalRiderAmount":null,"sixthUplineAgentCommission":0.000000,"staffAccount":null,"ePolicyExist":null,"totalRiderAmountCommission":0.000000,"auditingProcessId":"6bf0f610-c0e8-11e9-8ac9-00163e00eccc","chassisNo":"13221321321","policyType":4,"agentTypeName":"FUSE","accountCommissionExtra":0.000000,"taxableSpecialBonus":null,"removeReason":"","policyProcessType":0,"fifthUplineAgentCommission":0.000000,"amountToFuse":null,"policyTag":1,"agentEmail":null,"bonus":127400.000000,"transactionNo":"simasinsurtech-20190817-120300055985142","labelType":null,"adminFee":10000.000000,"fusePolicyCode":"simasinsurtech-20190817-120300055985142","uplineAgentName5":"BUDI008","specialBonusVatRate":null,"uplineAgentName6":"BUDI007","customerPayAmount":647000.0000,"agentPayAmount":647000.0000,"orderTime":1566014642000,"uplineAgentName1":"BUDI012","policyTax":0.000000,"specialBonusConfirmAffixId":null,"uplineAgentName2":"BUDI011","uplineAgentName3":"BUDI010","firstUplineAgentMobile":"62881111111112","uplineAgentName4":"BUDI009","tag":"RM-user1","thirdUplineAgentCommission":0.000000,"premiumMarkUp":null,"paymentDifferent":2548.00000000,"companyPercentage":null,"policyExpiredTime":1597525200000,"lastEnterCheckTime":null,"taxableCommission":null,"agentName":null,"isCommission":null,"installmentPercentage":1,"sixthUplineAgentName":"BUDI007","totalCommissionReceivableFromInsuranceCompany":null,"rejectedByFinance":"2","fifthUplineAgentCommissionRate":null,"incomeTaxCommission":null,"incomeTaxSpecialBonus":null,"bankName":"","firstEnterCheckTime":null,"fuseVipInsuranceCompanyCode":"02130004730000","categoryName":"MOTORBIKE","insuranceNumber":"simasinsurtech-20190817-120300055985142","uplineFuseId1":"994d5d6f","uplineFuseId2":"994d5c35","uplineFuseId5":"994d1f61","uplineFuseId6":"994cf354","uplineFuseId3":"994d5b47","uplineFuseId4":"994d2130","department":5,"channelCode":"00a40cdd014a47179245a98391d5af8c","companyPercentageFuse":1,"plateNo":"A DSAFSFS","totalRiderAmountNoCommission":0.000000,"sixthUplineAgentMobile":"628811111117","firstUplineAgentCommissionRate":null,"commissionIncomeTaxRate":null,"agentMobile":"621581111119","priorityRemark":null,"uplineAgentCommission4":0.000000,"forthUplineAgentName":"BUDI009","uplineAgentCommission3":0.000000,"uplineAgentCommission2":0.000000,"uplineAgentCommission1":0.000000,"uplineAgentCommission6":0.000000,"uplineAgentCommission5":0.000000}],"sql":"","total":1} |

浙公网安备 33010602011771号