iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python的HTTP请求方式(sock
  • 774
分享到

python的HTTP请求方式(sock

方式pythonHTTP 2023-01-31 01:01:44 774人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

关于python的Http请求方式HTTP请求步骤为:       1. 域名解析2. 发起tcp的3次握手3. 建立TCP连接后发起http请求4. 服务器端响应http请求,浏览器得到html代码5. 浏览器解析html代码,并请求h

关于pythonHttp请求方式
  • HTTP请求步骤为
       1. 域名解析
2. 发起tcp的3次握手
3. 建立TCP连接后发起http请求
4. 服务器端响应http请求,浏览器得到html代码
5. 浏览器解析html代码,并请求html代码中的资源
6. 浏览器对页面进行渲染呈现给用户
  • 简化为
DNS解析(浏) ->TCP连接(三次握手)->http Requests(浏)->Response(服) -> Parse(浏)-> Render(浏)->TCP断开(四次挥手)
  • SOCKET访问web http
  • import Socket
    url = 'www.sina.com.cn'
    port = 80
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((url, port))
    request_url = 'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n'
    sock.send(request_url.encode())
    response = b''
    rec = sock.recv(1024)
    while rec:
        response += rec
        rec = sock.recv(1024)
    print(response.decode())


  • SOCKET访问https
  • import socket
    import ssl
    
    url = 'dps-precheck-h.camcard.com'
    port = 443
    sock = ssl.wrap_socket(socket.socket())
    sock.connect((url, port))
    request_url = 'GET /api/v1/block/block_info?id=dpsv45_9aeb8b0e953711e7af605254003cf65b HTTP/1.1\r\nHost: dps-precheck-h.camcard.com\r\nConnection: close\r\n\r\n'
    sock.send(request_url.encode())
    response = b''
    rec = sock.recv(1024)
    while rec:
        response += rec
        rec = sock.recv(1024)
    print(response.decode())


  • 模块举例
Python中将这些步骤被封装成了完整的模块,直接调用即可进行。
python3为例,类似模块有:urllib,urllib3,httplib,requests等

 
get
post
requests
Data = requests.get(url)
Data = requests.post(url,
data =data)
urllib
f = urllib.request.urlopen
(url)
f.read().decode('utf-8')
类似get,在urlopen加入post提交的data
urllib3
http=urllib3.PoolManager()
r=http.request(
‘get’,
url,
fields={‘ ’:’ ’},
headers={}
)
get变为post
httplib2
h = httplib2.Http()    
head, content=h.request(url)
在request函数中加设置请求方式post,以及提交的表单
pycurl
c = pycurl.Curl()
c.setopt(c.URL, url)
b = StringIO.StringIO()
c.setopt(c.WRITEFUNCTION, b.write)
c.perfORM()  
print b.getvalue()
curl.setopt(pycurl.POSTFIELDS, urllib.urlencode(data))

  • 各模块的区别
  1. Python的urllib集合了python2的urllib和urllib2两个模块,解决了urllib不可伪装user Agent和urllib2无urlencode两个主要问题,功能齐全
  2. Urllib3是在urllib基础上集成第三方库,提供了:线程安全,连接池等新的特性
  3. Requests:是使用最广泛的,使用最简单,功能全面
  4. Httplib2实现了HTTP和https的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现
  • 相关参考文章:
https://www.cnblogs.com/gaoyuechen/p/8245489.html
https://www.cnblogs.com/Lands-ljk/p/5447127.html
https://www.cnblogs.com/itech/arcHive/2011/01/10/1931946.html
https://blog.csdn.net/xsj_blog/article/details/52102652
https://www.cnblogs.com/KGoing/p/6146999.html

--结束END--

本文标题: python的HTTP请求方式(sock

本文链接: https://www.lsjlt.com/news/184984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python的HTTP请求方式(sock
    关于python的HTTP请求方式HTTP请求步骤为:       1. 域名解析2. 发起TCP的3次握手3. 建立TCP连接后发起http请求4. 服务器端响应http请求,浏览器得到html代码5. 浏览器解析html代码,并请求h...
    99+
    2023-01-31
    方式 python HTTP
  • vue3-HTTP请求方式
    目录vue3-HTTP请求jsonp原理 结合node.jsGet Post请求vue3-HTTP请求发出后,判断哪里出问题了在请求后添加vue3-HTTP请求 jsonp原理 结合...
    99+
    2024-04-02
  • python HTTP请求--reque
    ...
    99+
    2023-01-31
    python HTTP reque
  • Python的http请求(wsdl)并
    from suds.client import Client import xml.etree.ElementTree as ET url= "http://10.228.200.253:8081/JKService/webservice...
    99+
    2023-01-31
    Python http wsdl
  • 关于Netty--Http请求处理方式
    目录Netty--Http请求处理业务处理逻辑Netty处理简单Http请求的例子废话不多说 上代码Netty--Http请求处理 1.这几天在看Netty权威指南,代码敲了一下,就...
    99+
    2024-04-02
  • JAVA发送HTTP请求的方式有哪些
    这篇文章主要介绍“JAVA发送HTTP请求的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JAVA发送HTTP请求的方式有哪些”文章能帮助大家解决问题。1. HttpURLConnecti...
    99+
    2023-07-05
  • java发送http get请求的两种方式
    长话短说,废话不说一、第一种方式,通过HttpClient方式,代码如下:public static String httpGet(String url, String charset) throws HttpException, IO...
    99+
    2023-05-31
    java http get
  • python怎样通过get方式,post方式发送http请求和接收http响应
    这期内容当中小编将会给大家带来有关python怎样通过get方式,post方式发送http请求和接收http响应,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。GET方法get方法是直接将要请求的数据放在u...
    99+
    2023-06-04
  • python 的http请求模块 url
    urllib3是一个强大的,理智的友好的HTTP客户端程序。大部分的Python的生态系统已经使用,你也应该urllib3。urllib3带来从Python标准库缺少许多关键特征:线程安全。连接池。客户端SSL / TLS验证。多重编码文件...
    99+
    2023-01-31
    模块 python http
  • Java 实现HTTP请求的四种方式总结
    前言 在日常工作和学习中,有很多地方都需要发送HTTP请求,本文以Java为例,总结发送HTTP请求的多种方式 HTTP请求实现过程 GET ▶️①、创建远程连接 ▶️②、设置连接方式(get、post、put…) ▶️③、设置连接超时...
    99+
    2023-08-17
    java http restful
  • 构造 HTTP 请求的方式、HTTPS 的工作过程
    一、构造 HTTP 请求的方式: 基于 HTML / JS (客户端构造HTTP请求,最常见的 HTTP 客户端,就是浏览器) 基于 form 表单基于 ajax 基于 Java (这种方案是...
    99+
    2023-09-15
    服务器 http ajax https java
  • @FeignClient 实现简便http请求封装方式
    目录@FeignClient实现http请求封装使用流程将http请求封装为FeignClient1.配置拦截器2.注入feignClient bean3.配置pom引用4.写fei...
    99+
    2024-04-02
  • C#通过GET/POST方式发送Http请求
    目录两者的区别:参数传输数据的大小 安全性 Get请求 Post请求 介绍http请求的两种方式,get和post方式。并用C#语言实现,如何请求url并获取返回的数据 两者的区别:...
    99+
    2024-04-02
  • java构造http请求的几种方式(附源码)
    目录一、form表单构造http请求二、ajax构造http请求三、Java socket构造http请求总结一、form表单构造http请求 form (表单) 是 HTML 中的...
    99+
    2023-02-09
    java构造http请求 java http请求
  • python 3 处理HTTP 请求的包
    httphttp: https://docs.python.org/3/library/http.htmlhttp是一个包,里面含有多个模块:http.client,http.server,http.cookies,http.cookiej...
    99+
    2023-01-31
    python HTTP
  • HTTP的请求方式GET和POST有什么区别
    这篇文章主要介绍“HTTP的请求方式GET和POST有什么区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTTP的请求方式GET和POST有什么区别”文章能帮助大家解决问题。HTTP的两种常用请...
    99+
    2023-06-27
  • 在JAVA中发送HTTP请求的方式有哪些
    在JAVA中发送HTTP请求的方式有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式...
    99+
    2023-06-06
  • Java Http请求方式之RestTemplate常用方法详解
    目录引言常见用法简单Get\Post请求Post提交常规表单Post上传文件配置项请求添加Cookie\Header配置请求工厂 超时、代理配置拦截器、转换器,错误处理错误重试(额外...
    99+
    2024-04-02
  • python构造一个http请求
    我们经常会用python来进行抓包,模拟登陆等等, 势必要构造http请求包。 http的request通常有4个方法get,post,put,d...
    99+
    2023-01-31
    python http
  • Python HTTP请求的常见错误及解决方法
    错误 404:未找到资源 错误 404 是最常见的HTTP错误之一,表示服务器无法找到请求的资源。这可能是由于以下原因造成的: 请求的URL不正确。 请求的资源已被删除或移动。 服务器配置错误。 要解决此错误,您需要检查请求的U...
    99+
    2024-02-23
    Python HTTP请求 错误 解决方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作