【9.4】socket模拟http请求
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 # requests -> urllib -> socket 5 import socket 6 from urllib.parse import urlparse 7 8 9 def get_url(url): 10 # 通过socket请求html 11 url = urlparse(url) 12 host = url.netloc 13 path = url.path 14 if path == '': 15 path = '/' 16 17 # 建立连接 18 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 19 client.connect((host, 80)) 20 21 client.send("GET {} HTTP/1.1\r\nHost:{}\r\nConnection:close\r\n\r\n".format(path, host).encode('utf-8')) 22 23 data = b"" 24 while True: 25 d = client.recv(1024) 26 if d: 27 data += d 28 else: 29 break 30 31 data = data.decode('utf-8') 32 html_data = data.split('\r\n\r\n')[1] 33 print(data) 34 print(html_data) 35 client.close() 36 37 38 if __name__ == '__main__': 39 get_url('http://www.baidu.com')
转载于:https://www.cnblogs.com/zydeboke/p/11284004.html
【9.4】socket模拟http请求相关推荐
- php socket 模拟http请求
<?php//fsockopen - 打开一个网络连接或者一个Unix套接字连接 注意这里只能是 域名 或 ip $flag = 0; $params = ''; $errno = ''; $e ...
- php socket 用户名密码,PHP用socket模拟post之fsocketopen
地听说这个功能需求的时候,立即就蒙了,不骗大家!首先PHP的socket几乎都没使用过,其次没有听说过post还能用PHP的socket来模拟的呢!后来找了个案例看了看,才明白其实没有那么高深,只不过 ...
- php 进行http请求,PHP模拟http请求的方法详解
本文实例讲述了PHP模拟http请求的方法.分享给大家供大家参考,具体如下: 方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作. 建立两个文件post.php,getpos ...
- curl命令java_上curl java 模拟http请求
最近,我的项目要求java模拟http请求,获得dns解决 tcp处理过的信息特定的连接. java api提供urlConnection apache提供的httpClient都不能胜任该需求,二次 ...
- JAVA编写的使用Socket模拟Http的GET操作
JAVA编写的使用Socket模拟Http的GET操作,看后就很容易理解Web浏览器的原理了. import java.io.BufferedReader; import java.io.InputS ...
- C# Socket模拟发送接收
Socket简介 通过TCP/IP与仪器或设备通讯,在C#语言中,我们通常采用Socket.本项目是一个简单的Socket建立服务监听与Socket作为客户端请求的一个示例. 项目结构 客户端项目 S ...
- Socket模拟HTTP协议之火车票购票软件
前段时间我发布过一篇文章描述Socket进行HTTP/HTTPS操作,但是还是很多朋友觉得多次一举,放着简单的HttpWebRequest不用! 实际是有些人根本没看文章就乱说了,我们的目地是提高访问 ...
- python爬虫网络请求超时_6、web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求...
利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码 read()读出html源码内容 decode("utf-8")将字节转化成字符 ...
- [转】HTTP请求流程(二)----Telnet模拟HTTP请求
转自: http://www.cnblogs.com/stg609/archive/2008/07/06/1237000.html 上一部分"流程简介", 我们大致了解了下HTTP ...
最新文章
- python工作太难找-Python工作难找吗?
- gis 路径拟合算法_决策树算法十问及经典面试问题
- html zoom中心,css中的zoom的使用
- linux-free命令
- 软件工程---在此基础上,进行软件的改进
- 三、Vue组件化开发学习笔记——组件化的基本步骤、全局组件和局部组件、父组件和子组件、注册组件的语法糖、模板分离写法、组件的数据存放
- npm install --save 与 npm install --save-dev 的区别
- android初始化activity时隐藏软键盘
- 把握初期企业的发展战略规划
- java scriptengine e-_Java使用ScriptEngine(javax.script)
- 电影票预售系统1.0
- 计算机快捷键英语,输入法电脑中英文切换快捷键
- 广东金融学院大学计算机基础,好投顾网使用说明广东金融学院专用).doc
- oracle 按照中文姓首字母排序,按照偏旁部首,笔画排序 sql
- 出版一本书可以赚多少钱_出版商精选:2015年29本书
- 像中文的罗马音字体复制_罗马音大全可复制汉字免费版下载-罗马音大全可复制吊汉字app在线生成版v1.1.2 手机版-007游戏网...
- 挖掘机技术到底哪家强?这个问题终于有答案了!!
- 小米笔记本12.5英寸装ubuntu后设置快捷键开启和关闭触摸板
- PHP解码JavaScript中的escape()方法
- 在python中可以用什么关键字来声明一个类_python里的raise是什么意思
热门文章
- c++中static的全部用法
- ansible-playbook之循环(Loops)
- JS获取HTML video标签视频第一帧
- Android项目实战(三十一):异步下载apk文件并安装(非静默安装)
- [转]Oracle分页之三:利用PagerView来实现无刷新GridView
- 转载文章:Microsoft 将僵尸网络威胁智能分析程序引入云中以提供近实时数据
- 恢复Cisco路由器口令
- L3-023 计算图 (30 分)--PAT 团体程序设计天梯赛 GPLT
- 蓝桥杯 ADV-238 算法提高 P0101
- 1001. 害死人不偿命的(3n+1)猜想 (15)-PAT乙级真题