当前位置: 首页 > news >正文

津做网站企业网站的在线推广方法有

津做网站,企业网站的在线推广方法有,ip安装wordpress,自己做网站卖什么好(文章内容仅作学习交流使用) urllib3是一个功能强大、条理清晰,用于HTTP客户端的第三方模块 urllib3-发送网络请求 使用urllib3发送网络请求时,需要先创建PoolManager对象,并使用该对象的request方法发送请求&#…

(文章内容仅作学习交流使用)

urllib3是一个功能强大、条理清晰,用于HTTP客户端的第三方模块

urllib3-发送网络请求

使用urllib3发送网络请求时,需要先创建PoolManager对象,并使用该对象的request方法发送请求,request方法的语法如下:

request(method,url,fields=None,headers=None,retries=3,timeout=0.1) 
#method用于指定请求方式
#fields与headers分别用于指定请求参数与请求头
#retries为重试请求次数,默认为3次
#timeout为可选参数,用于设置超时

使用urllib3发送GET请求并获取状态:

import urllib3    # 导入urllib3模块
urllib3.disable_warnings()               # 关闭ssl警告
url = "http://baidu.com"
http = urllib3.PoolManager()   # 创建连接池管理对象
r = http.request('GET',url)    # 发送GET请求
print(r.status)                # 打印请求状态码

一个连接管理池(PoolManager)可以同时向多个服务器发送请求:

jd_url = 'https://www.jd.com/'
csdn_url = 'https://csdn.net/'
baidu_url = 'https://www.baidu.com/'
http = urllib3.PoolManager()
r1 = http.request('GET',jd_url)
r2 = http.request('GET',csdn_url)
r3 = http.request('GET',baidu_url)

发送POST请求时,除了将method设置成POST,还需要将字典参数传入fields中:

url = 'https://www.httpbin.org/post'    # post请求测试地址
params = {'name':'Jack','country':'中国','age':30}  # 定义字典类型的请求参数
http = urllib3.PoolManager()             # 创建连接池管理对象
r = http.request('POST',url,fields=params)    # 发送POST请求
print('返回结果:',r.data.decode('unicode_escape'))

处理响应内容

发送网络请求后,将返回一个HTTPResponse对象,通过该对象中的info方法,可以获取响应头信息(字典类型):

http = urllib3.PoolManager()             # 创建连接池管理对象
r = http.request('GET',url)              # 发送GET请求,默认重试请求
for key in r.info().keys():      # 循环遍历打印响应头信息print(key,':',response_header.get(key))

可以将服务器返回的JSON信息转换成字典类型,取需要的条目即可:

url = 'https://www.httpbin.org/post'    # post请求测试地址
params = {'name':'Jack','country':'中国','age':30}  # 定义字典类型的请求参数
http = urllib3.PoolManager()             # 创建连接池管理对象
r = http.request('POST',url,fields=params)    # 发送POST请求
j = json.loads(r.data.decode('unicode_escape'))  # 将响应数据转换为字典类型
print('数据类型:',type(j))
print('获取form对应的数据:',j.get('form'))
print('获取country对应的数据:',j.get('form').get('country'))

获取二进制数据时,可以做出相应处理,比如二进制图片数据可以(实际上其他类型也可以)使用open函数转换为图片文件(运行如下代码之后,相应图片会保存在项目根目录中):

url = 'https://www.sdu.edu.cn/images/20240801.png'  # 图片请求地址
http = urllib3.PoolManager()             # 创建连接池管理对象
r = http.request('GET',url)              # 发送网络请求
print(r.data)                            # 打印二进制数据
f = open('20240801.png','wb+')             # 创建open对象
f.write(r.data)                          # 写入数据
f.close()                                # 关闭

复杂请求的发送

设置请求头

大多数服务器都会检测请求头信息,我们需要提前获取想要模拟的浏览器的请求头,并以字典形式传入request的header参数中,获取浏览器的有效请求头方法如下:

获取到请求头后,需要在request中进行设置:

url = 'https://www.httpbin.org/get'    # get请求测试地址
# 定义火狐浏览器请求头信息
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'}
http = urllib3.PoolManager()                   # 创建连接池管理对象
r = http.request('GET',url,headers=headers)    # 发送GET请求
print(r.data.decode('utf-8'))                  # 打印返回内容

设置代理IP

设置代理IP需要创建ProxyManager对象,并填写proxy_url(代理IP)与headers两个参数:

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0'}
proxy = urllib3.ProxyManager('http://120.27.110.143:80',headers = headers)  # 创建代理管理对象
r = proxy.request('get',url,timeout=2.0)  # 发送请求
print(r.data.decode())                    # 打印返回结果

上传文件

可以通过fields将文本文件作为参数上传:

import urllib3    # 导入urllib3模块
import json       # 导入json模块
with open('test.txt') as f:    # 打开文本文件data = f.read()               # 读取文件
http = urllib3.PoolManager()    # 创建连接池管理对象
r = http.request( 'POST','http://httpbin.org/post',fields={'filefield': ('example.txt', data),})  # 发送网络请求
files = json.loads(r.data.decode('utf-8'))['files']  # 获取上传文件内容
print(files)                                         # 打印上传文本信

在request方法中指定body参数,对应的值为文件的二进制数据,还要使用headers参数指定文件类型:

import urllib3    # 导入urllib3模块
with open('python.jpg','rb') as f:  # 打开图片文件data = f.read()                    # 读取文件
http = urllib3.PoolManager()    # 创建连接池管理对象
# 发送请求
r = http.request('POST','http://httpbin.org/post',body = data,headers={'Content-Type':'image/jpeg'})
print(r.data.decode())          # 打印返回结果
http://www.khdw.cn/news/69198.html

相关文章:

  • 大连免费营销型建站网络推广网络营销企业案例分析
  • WordPress垃圾tob主题seo优化报价
  • wordpress统计插件下载seo入门教程视频
  • 商城 网站 功能今日小说排行榜风云榜
  • 珠海网站制作网络公司百度上做推广怎么做
  • wordpress怎样更换主题优化建议
  • 北京网站建设 标准型 新翼如何设计一个网站页面
  • 中小学做课题研究的网站网络营销技巧培训班
  • 2018网站建设合同北京网站推广排名外包
  • 如何做美食网站经典软文案例200字
  • 庆阳官网贴吧许昌网站seo
  • 做网站开票几个税点谷歌seo是什么意思
  • 百度免费网站建设一个具体网站的seo优化方案
  • 网页设计与制作教程 刘瑞信 pdf网页优化seo公司
  • 建什么网站 做 cpa有什么平台可以推广
  • WordPress禁用自适应厦门seo关键词优化培训
  • 武汉建设局网站推广关键词排名方法
  • 武汉城乡建设汕头最好的seo外包
  • 做一手房有哪些网站比较好啊百度上做优化一年多少钱
  • 建设自己的网站步骤电商网站seo怎么做
  • 营销网站建设要注意什么关键词搜索排名推广
  • 沈阳网站开发外包现在百度怎么优化排名
  • 做暧免费观看网站如何查询网站收录情况
  • 香港特区政府网站 建设微信营销的成功案例
  • 网站怎么做子分类宁波seo网络优化公司
  • 百度关键词数据企业网站seo点击软件
  • 南通网站建设论文学生个人网页制作成品代码
  • 外国人做的甲骨文网站上海网站建设联系方式
  • 扁平化网站布局千锋教育
  • 涿州网站建设公司如何做网站设计