requests提交form表单

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了requests提交form表单脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

问题:

对接接口,发现对方的接口使用form-data进行数据提交,直接使用requests库的data参数对接,会报参数错误:

params = {
    'timestamp':timestamp,
    'nonce':nonce,
    'apikey':APIKEY,
    'signature': signature
}
data = {
    'name': name,
    'phone': phone,
    'idnum': idnum,
    'PRoducts': [201,]
}
resp = requests.post(URL, data=data, params=params,
                     verify=False, timeout=10)      

错误提示

requests提交form表单

解决方案

一块Requests包做的不是很好,做法具体如下:一种是手动组建form-data并加上headers;另一种是通过files参数传递form-datal;


# 方案一:params = {    'timestamp':timestamp,    'nonce':nonce,    'apikey':APIKEY,    'signature': signature}payload = """------webkitFormBoundary7MA4YWxkTrZu0gWrnContent-DisposITion: form-data;    name="phone"nn{}rn------WebKitFormBoundary7MA4YWxkTrZu0gWrnContent-Disposition: form-data;     name="idnum"nn{}rn------WebKitFormBoundary7MA4YWxkTrZu0gWrnContent-Disposition: form-data;    name="name"rnrn{}rn------WebKitFormBoundary7MA4YWxkTrZu0gWrnContent-Disposition: form-data;     name="products"rnrn {}rn------WebKitFormBoundary7MA4YWxkTrZu0gW--""".format(phone, idnum, name, [201,])headers = {    "content-tyPE": "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"}resp = requests.post(URL, data=payload, params=params,                     verify=False, timeout=10, headers=headers)# 方案二:import jsonparams = {    'timestamp':timestamp,    'nonce':nonce,    'apikey':APIKEY,    'signature': signature}data = {    'name':(None, name),    'phone': (None, str(phone)),    'idnum': (None, idnum),    'products': (None, json.dumps([201,]))}resp = requests.post(URL, files=data, params=params,                     verify=False, timeout=10)print(resp.status_code)print(resp.request.url)print(resp.request.body)print(resp.text )                    
 

 

结果

requests提交form表单

 

 

转自:https://www.freesion.COM/article/248781736/

 

脚本宝典总结

以上是脚本宝典为你收集整理的requests提交form表单全部内容,希望文章能够帮你解决requests提交form表单所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。