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

怎么在虚拟主机上建网站《学做网站论坛》视频下载

怎么在虚拟主机上建网站,《学做网站论坛》视频下载,wordpress博客头图怎么改,做游戏推广网站处理更高级操作时(Cookies处理,代理设置),需要一个强大的工具Handler,可以理解成各种处理器,有处理登录认证的、有处理Cookies的、有处理代理设置的。利用这些几乎可以做到HTTP请求中所有事情。当中urllib.request模块里的 BaseHa…

处理更高级操作时(Cookies处理,代理设置),需要一个强大的工具Handler,可以理解成各种处理器,有处理登录认证的、有处理Cookies的、有处理代理设置的。利用这些几乎可以做到HTTP请求中所有事情。当中urllib.request模块里的 BaseHandler类是所有其他Handler的父类,提供了最基本的方法。如default_open()、protocol_request()等。

HTTPdefaultErrorHandler: 用于处理HTTP响应错误,错误会抛出HTTPError类型异常
HTTPRedirectHandler: 用于处理重定向
HTTPCookieProcessor: 用于处理Cookies
ProxyHandler: 用于设置代理,默认为空
HTTPPasswordMgr: 用于管理密码,维护了用户名和密码的表
HTTPBacisAuthHandler: 用于管理认证,弱一个链接打开需要认证,可以用它解决认证问题

代理ProxyHandler的使用:

代理的常用功能:

  • 突破自身ip访问限制,访问国外站点。

  • 访问一些单位或团体内部资源。

  • 提高访问速度

通常代理服务器都设置一个较大的硬盘缓冲区,当有外界信息通过时,同时也将其保存到缓冲区。浏览器向代理服务器发出请求,当代理服务器接收请求信息号,再由代理服务器来取回浏览器所需要的信息并传送给终端用户的浏览器。

  • 隐藏真实ip,免受攻击。

from http.client import HTTPResponse
from urllib import request
from urllib.request import ProxyHandler, Requesturl = "http://httpbin.org/ip"
headers = [("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36")]
username = "YOUR_USERNAME"
password = "YOUR_PASSWORD"
ip = "YOUR_IP"  # 例:127.0.0.1
port = 66666  # 例:30000
ip_port = f"{ip}:{port}"
handler = ProxyHandler({"http": f"http://{username}:{password}@{ip_port}"})
opener = request.build_opener(handler)
opener.addheaders = headers
response = opener.open(url)  # type: HTTPResponseprint(response.read().decode("utf-8"))

另一个常用类OpenerDirector也叫Opener,urlopen()就可以看做是urllib提供的一个Opener。前面的Rquest和urlopen相当于类库封装好的常用的请求方法,可以完成基本的请求,但要实现更高级操作需要深入一层配置。所以需要用到Opener。

Cookies获取

CookieJar类的子类

  • CookieJar:管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。整个cookie都存储在内存中,对CookieJar实例进行垃圾回收后cookie也将丢失。

  • FileCookieJar:从CookieJar派生而来,用来创建FileCookieJar实例,检索cookie信息并将cookie存储到文件中。filename是存储cookie的文件名。delayload为True时支持延迟访问访问文件,即只有在需要时才读取文件或在文件中存储数据。

  • MozillaCookieJar:从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。

  • LWPCookieJar:从FileCookieJar派生而来,创建与libwww-perl标准的 Set-Cookie3 文件格式兼容的FileCookieJar实例。

from http.client import HTTPResponse
from urllib import request, parse
from urllib.request import Request, HTTPCookieProcessor
from http.cookiejar import CookieJar
from io import BytesIO
import gzipcookiejar = CookieJar()login_url = "https://www.mac123.vip/ajax/login_h.jsp"headers = {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
}data = "cmd=XXXXXXX_loginMember&encryptAcct=VVVVVVVVVVVVVV=&pwd=123456789000909090899089089089&captcha=&autoLogin=false"req = Request(login_url, data=data.encode("utf-8"), headers=headers)
handler = HTTPCookieProcessor(cookiejar)
opener = request.build_opener(handler)
response = opener.open(req)  # type: HTTPResponseprint(response.read().decode("utf-8"))
print(response.info().get_content_charset())####################以下代码是查看登录信息的url的页面的获取#######################
info_url = "https://www.mac123.vip/mCenter.jsp"
info_req = Request(info_url, headers=headers)
info_response = opener.open(info_req)  # type: HTTPResponse
data_bytes = info_response.read()
bytes = BytesIO(data_bytes)
f = gzip.GzipFile(fileobj=bytes)
print(f.read().decode("utf-8"))

备注:

获取登录信息的时候,https://www.mac123.vip/ajax/login_h.jsp的请求页面返回是压缩后的页面,需要gzip.GzipFile进行解压后进行解码操作。

CookieJar之cookie保存本地和读取:

  1. cookie保存

from http.client import HTTPResponse
from urllib import request
from urllib.request import Request, HTTPCookieProcessor
from http.cookiejar import MozillaCookieJarcookiejar = MozillaCookieJar("cookie.txt")url = "http://httpbin.org/cookies/set/course/China"
headers = {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
}
req = Request(url, headers=headers)
handler = HTTPCookieProcessor(cookiejar)
opener = request.build_opener(handler)
response = opener.open(req)  # type: HTTPResponse
print(response.read().decode("utf-8"))
cookiejar.save()

发现读取不到,原因是因为该接口设置的cookie仅浏览时存储。

解决方法是:

cookiejar.save()

将两个参数设置为True,即可解决!!!

from http.client import HTTPResponse
from urllib import request
from urllib.request import Request, HTTPCookieProcessor
from http.cookiejar import MozillaCookieJarcookiejar = MozillaCookieJar("cookie.txt")url = "http://httpbin.org/cookies/set/course/China"
headers = {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"
}
req = Request(url, headers=headers)
handler = HTTPCookieProcessor(cookiejar)
opener = request.build_opener(handler)
response = opener.open(req)  # type: HTTPResponse
print(response.read().decode("utf-8"))
cookiejar.save(ignore_discard=True, ignore_expires=True)

http://www.yayakq.cn/news/253013/

相关文章:

  • wordpress网站可以显示中文和英文网站设计与制作包括
  • 安卓商城网站开发网站php网站空间
  • 海南省住房和城乡建设厅官方网站呼叫中心系统源码
  • 全国工商网站查询企业信息seo优化技术培训中心
  • 怎做不下网站刷枪金堂县建设局网站
  • 许昌网站建设汉狮怎么样住在九江网
  • 商贸行业网站建设公司开发一平方多少钱
  • 做电器推广的网站网站建设w亿码酷1流量订制
  • 新手怎么做网站网站开发用 c php
  • 站酷网官网进入陕西百度推广的代理商
  • 二手车网站设计邢台专业做网站哪家好
  • 开锁都在什么网站做网站服务器送一年
  • 如何把自己做的网站 放在网上更改wordpress主题字体颜色
  • 中英文微信网站建设文件关键词搜索工具
  • wordpress双语站点wordpress 设置网站目录权限
  • 快速建站教程有网站和无网站的区别
  • 网站如何做ICP备案wordpress怎么更改端口登陆
  • 做微商有卖鞋子的网站吗网络服务昭通学院
  • 网站免费正能量软件推荐怎么做网站站内搜索
  • 网站建设 今晟网络直播交友app开发
  • 建设网站材料可以下载吗seo谷歌
  • 做vr效果图的网站建设淘宝网站的人员组织结构
  • 企业网站实名审核中心肥西县建设局网站
  • 律师事务所网站建设北师大网页制作与网站建设期末考试
  • 怎么把源码做网站自助建站免费永久
  • 兰州做网站改版的公司做网站需要会的软件
  • 论坛网站制作seo推广软件哪个好
  • 莆田网站开发公司网站设计与推广
  • 网站关键词挖掘wordpress 笑话源码
  • 杭州公司网站设计云商网络综合服务