• 接口请求方式为get请求,如下图抓包查看

  • Python实现脚本请求接口并以中文打印接口返回的数据
 import urllib.parse
import urllib.request url = "https://..../manage/region/list" # 定义请求数据,并且对数据进行赋值
values={}
values['status']= 'hq'
values['token']= 'C6AD7DAA24BAA29AE14465DDC0E48ED9' # 对请求数据进行编码
data = urllib.parse.urlencode(values).encode('utf-8')
print(type(data)) # 打印<class 'bytes'>
print(data) # 打印b'status=hq&token=C6AD7DAA24BAA29AE14465DDC0E48ED9' # 若为post请求以下方式会报错TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
# Post的数据必须是bytes或者iterable of bytes,不能是str,如果是str需要进行encode()编码
data = urllib.parse.urlencode(values)
print(type(data)) # 打印<class 'str'>
print(data) # 打印status=hq&token=C6AD7DAA24BAA29AE14465DDC0E48ED9 # 将数据与url进行拼接
req = url + '?' + data
# 打开请求,获取对象
response = urllib.request.urlopen(req)
print(type(response)) # 打印<class 'http.client.HTTPResponse'>
# 打印Http状态码
print(response.status) # 打印200
# 读取服务器返回的数据,对HTTPResponse类型数据进行读取操作
the_page = response.read()
# 中文编码格式打印数据
print(the_page.decode("unicode_escape"))
  • 执行脚本,接口返回数据

  • 使用到的函数

urllib.parse.urlencode() 把key-value这样的键值对转换成a=1&b=2这样的字符串

urllib.request.urlopen() 打开指定的url,就是进行get请求

response.read() 读取HTTPResponse类型数据

  • 脚本执行过程报错记录,requests爬虫时开启代理会报以下错误

requests.exceptions.SSLError: HTTPSConnectionPool(host='api.****.cn', port=443):Max retries exceeded with url: //manage/region/list (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

python实现http get请求的更多相关文章

  1. python 3 处理HTTP 请求的包

    http http: https://docs.python.org/3/library/http.html http是一个包,里面含有多个模块:http.client,http.server,htt ...

  2. python CSRF跨站请求伪造

    python CSRF跨站请求伪造 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  3. python发送HTTP POST请求

    1. 127.0.0.1和0.0.0.0 127.0.0.1是一个回送地址,指本地机,一般用来本机测试使用,使用127.0.0.1启的服务只能在本地机器上访问,使用0.0.0.0启的服务可以在其他机器 ...

  4. Python爬虫--- 1.1请求库的安装与使用

    来说先说爬虫的原理:爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到请 ...

  5. Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据

    Python+requests 发送简单请求-->获取响应状态-->获取请求响应数据 1.环境:安装了Python和vscode编译器(Python自带的编译器也ok).fiddler抓包 ...

  6. Python +requests 关于post请求返回报错

    python+request 发送post请求:msg返回"Content type 'application/octet-stream' not supported" 一.问题源 ...

  7. python——django的post请求

    两次被同一块石头绊倒简直不可原谅!第一次写django程序的时候,就因为ajax post请求折腾了整整一天,时隔两个多月昨天又被虐一整晚.叔可忍婶儿也不能忍了!!!重要的事情写下来,为以后轻松碾压p ...

  8. python 模拟登陆,请求包含cookie信息

    需求: 1.通过GET方法,访问URL地址一,传入cookie参数 2.根据地址一返回的uuid,通过POST方法,传入cooki参数 实现思路: 1.理解http的GET和POST差别 (网上有很多 ...

  9. Python socket模拟HTTP请求

    0x00 起 最近在做一个对时间要求比较高的扫描器,需要封装一下SOCKET模拟HTTP发包的一些常用函数.简单的说,就是重写一下requests中的get.post方法. 今天在写的时候,遇到一枚很 ...

  10. python 2 处理HTTP 请求的包

    httplib httplib: https://docs.python.org/2/library/httplib.html python 的官方文档这样说明: This module define ...

随机推荐

  1. jdbc--取大量数据

    最近使用jdbc方式查询数据,保存为csv文件中.当然你可以在pl/sql中直接查出来,copy to excel就好了.但我想通过程序实现 @Test public void test() thro ...

  2. 【JVM】-NO.111.JVM.1 -【JDK11 HashMap详解-1-hash()剖析】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  3. (转载)mybatis中传入参数是list或map

    原文地址:http://blog.csdn.net/aya19880214/article/details/41961235 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  4. Gitlab构建分布式版本控制系统

    一 安装依赖 1.sudo yum install curl policycoreutils openssh-server openssh-clients 2.sudo systemctl enabl ...

  5. 026-微软Ajax异步组件

    ASP.Net中内置的简化AJAX开发的控件UpdatePanel放入ScriptManager,将要实现AJAX效果的控件放到UpdatePanel中即可.UpdatePanel原理探秘,用Http ...

  6. day01 格式化输出和while循环的两个小练习

    练习1.模拟登陆判断(3次机会) r_name = 'xianyu' r_password = ' i = 3 # 用来控制循环次数 while i > 0: name = input('请输入 ...

  7. Kali密码攻击之——离线攻击工具

    在线密码攻击在渗透测试中很重要,但对于测试过程中得到的哈希,加密数据,又需要离线破解工具辅助解决 Creddump套件 kali下离线攻击工具中的Cache-dump,lsadump,pwdump,均 ...

  8. extends 与implements的区别和用法

    1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口. extends 是继承某个类, 继承之后可以使用父类的方法, 也可以 ...

  9. 怎样才能提交一个让开发人员拍手叫好的bug单

    怎样才能提交一个让开发人员拍手叫好的bug单 软件测试人员写得最多的文档就是测试用例和BUG,现在测试用例和BUG都没有标准的模板,每个公司使用的缺陷管理工具都有可能不一样,如果你换了一家公司就有可能 ...

  10. SD卡与FAT32系统学习

    2011-06-06 23:04 前2天,我了解了一下SD卡驱动的原理及FAT32文件系统的结构.接着准备主要已移植为主.通过LCD显示SD卡中的图片.但我需要分步进行. 0,使sd卡能读写数据.1, ...