Python发送http请求时遇到问题总结
1、报错信息为“ERROR 'str' object has no attribute 'endwith'”,排查发现endswith方法名写错了,少了s,写成了 'endwith'
if interface_url.endswith('?'):
req_url = interface_url + temp_interface_param
else:
req_url = interface_url + '?' + temp_interface_param
2、报错信息为“ERROR request() got an unexpected keyword argument 'header”,排查发现将参数名headers写成了header
response = requests.get(url=req_url, headers=header_data, verify=False, timeout=10)
3、报错信息为“ERROR No connection adapters were found for 'test.XXX.xxx/xxx/'”,排查发现URL少了“http://”,加上解决问题
4、发送HTTP请求,请求方式是post时,url和参数等都正确,但是请求时还是报错,排查发现使用Python发送请求时,并没有把参数传进去,导致报错;
进一步排查发现,请求头参数类型未设置content-type值,常用的content-type有四种,如下:
(1)application/x-www-form-urlencoded:是最常见的数据类型,通常表明请求的数据类型是键值对类型
(2)application/json:请求的数据类型是json格式
(3)multipart/form-data:通常用于上传文件
(4)application/xml:数据格式为xml格式
在请求头中添加了'content-type':'application/x-www-form-urlencoded'数据后,传参也遵循对应的格式,HTTP请求就能正常返回数据了
请求头content-type值参考:https://www.jianshu.com/p/f59b04ffea61
Python发送http请求时遇到问题总结的更多相关文章
- python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息
背景介绍: 发送搜索请求时,需要用到登录接口返回值中的token值 代码实现: 登录代码: 搜索接口:
- Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method 'POST' not supported (附带其余好几个坑)
yml: feign: httpclient: enabled: true properties: #feign feign.httpclient.enabled=true <!-- https ...
- python中发送post请求时,报错“Unrecognized token 'xxxx': was expecting ('true', 'false' or 'null')”
解决办法: 如请求参数为 data={“user”=“aaa”,“pwd”=“123456”,sign=“00000000000000”} 需要将参数data先做处理,调用函数datas=datajs ...
- python发送post请求上传文件,无法解析上传的文件
前言 近日,在做接口测试时遇到一个奇葩的问题. 使用post请求直接通过接口上传文件,无法识别文件. 遇到的问题 以下是抓包得到的信息: 以上请求是通过Postman直接发送请求的. 在这里可以看到消 ...
- IE内核发送ajax请求时不会将url中的参数编码
有一次用户遇到创建文件,名称为中文时乱码的问题. 经调查,发现用户使用的是国产浏览器ie模式 抓取请求发现 IE: 键 值请求 POST /Handlers/CreateTxtFile.ashx?fi ...
- 使用User-Agent防止HttpClient发送http请求时403 Forbidden和安全拦截
问题的抛出 今天有客户反映,批付交易完成后,在我方服务器以“服务器点对点通信”的方式通知请求对方服务器时,对方拦截了请求.并贴了一张截图. 从截图可以看出来,对方拦截了我们的user-agent(Ap ...
- 在发送ajax请求时加时间戳或者随机数去除js缓存
在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...
- httpclient发送request请求时设置header和timeout
package com.xxx.xxx.common; import java.io.BufferedReader; import java.io.InputStreamReader; import ...
- python发送网络请求
1.使用urllib模块(使用不方便,建议使用第二种) get请求: res = urlopen(url) from urllib.request import urlopen url = 'http ...
随机推荐
- Spring05——Spring 如何实现事务管理
在此之前,我们已经了解了 Spring 相关的基础知识,今天将为给位带来,有关 Spring 事务代理的相关知识.关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 Java 相关知识 ...
- HDU - 1005 Number Sequence 矩阵快速幂
HDU - 1005 Number Sequence Problem Description A number sequence is defined as follows:f(1) = 1, f(2 ...
- 剑指offer刷题总结
★ 二维数组的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否 ...
- Django安装和使用
Django安装 安装Django Python3在线安装Django pip3 install Django 验证是否安装成功,并查看当前版本 python -m django --version ...
- jdbc连接方法
jdbc(Java Database Connectivity)的5个步骤: 一.加载驱动. 反射中的主动加载,Driver.class右键copy qualified Name 二.创建连接 dat ...
- css 动画 transition和animation
本文参考:http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html 1. transition基本用法: < ...
- (3)SQL Server表分区
1.简介 当一个表数据量很大时候,很自然我们就会想到将表拆分成很多小表,在执行查询时候就到各个小表去查,最后汇总数据集返回给调用者加快查询速度.比如电商平台订单表,库存表,由于长年累月读写较多,积累数 ...
- 树莓派中Docker部署.Net Core 3.1 (一)
一.背景 受疫情影响,已经在家强制事假一个月了,除了刷简历外就是在家学习,闲来无事,最近买了几个树莓派4B的板子回来,准备用树莓派搭建个自动部署的平台和微服务示例,长话短说,节约时间,直接进入正题吧 ...
- Gin框架系列03:换个姿势理解中间件
什么是中间件 中间件,英译middleware,顾名思义,放在中间的物件,那么放在谁中间呢?本来,客户端可以直接请求到服务端接口. 现在,中间件横插一脚,它能在请求到达接口之前拦截请求,做一些特殊处理 ...
- mysql慢查询分析工具比较与实战
00 前言 在进行mysql性能优化的时候,第一个想到的便是查看慢sql. 但是对于慢sql有没有什么好的工具进行分析呢? 推荐两个工具mysqldumpslow及pt-query-digest. m ...