分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

urllib的实现---请求响应and请求头处理

发布时间:2023-09-06 01:29责任编辑:蔡小小关键词:url
在python3中 urllib库和urilib2库合并成了urllib库。。
其中urllib2.urlopen()变成了urllib.request.urlopen()
urllib2.Request()变成了urllib.request.Request()

 1,实现一个完整的请求和响应模型

import urllib#请求request = urllib.request.Request(‘https://www.baidu,com‘)#响应response = urllib.request.urlopen(request)html = response.read()print(html) 

post请求

import urllibfrom urllib import parsefrom urllib import requesturl = ‘https://www.xxx.com/login‘postdata = {‘username‘: ‘qwe‘, ???????????‘password‘: ‘qwe123‘}#info 需要被编码成urllib 能理解的格式data = parse.urlencode(postdata)req = request.Request(url,data)response = request.urlopen(req)html = response.read()

2.请求头headers处理

将上面的代码修改,设置一下请求头中的User-Agent域和Referer域信息

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。

from urllib import parsefrom urllib import requesturl = ‘https://www.xxx.com/login‘url_agent = ‘Mozilla/5.0(Macintosh;IntelMacOSX10.6;rv:2.0.1)Gecko/20100101Firefox/4.0.1‘referer = ‘http://www.xxxx.com/‘postdata = {‘username‘: ‘qwe‘, ???????????‘password‘: ‘qwe123‘}header = {‘User-Agent‘: url_agent,‘Referer‘: referer}#info 需要被编码成urllib 能理解的格式data = parse.urlencode(postdata)req = request.Request(url,data,header)response = request.urlopen(req)html = response.read()

也可以使用add_header来添加修改如下

from urllib import parsefrom urllib import requesturl = ‘https://www.xxx.com/login‘url_agent = ‘Mozilla/5.0(Macintosh;IntelMacOSX10.6;rv:2.0.1)Gecko/20100101Firefox/4.0.1‘referer = ‘http://www.xxxx.com/‘postdata = {‘username‘: ‘qwe‘, ???????????‘password‘: ‘qwe123‘}#header = {‘User-Agent‘: url_agent,‘Referer‘: referer}#info 需要被编码成urllib 能理解的格式data = parse.urlencode(postdata)req = request.Request(url)req.add_header(‘User-Agent‘,url_agent)req.add_header(‘Referer‘,referer)req.data = dataresponse = request.urlopen(req)html = response.read()

 

urllib的实现---请求响应and请求头处理

原文地址:http://www.cnblogs.com/mrwuzs/p/8018190.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved