soket客户端程序(一)
soket客户端主要完成以下步骤:
1.建立soket套接字(将套接字理解为一个通道)
2.建立连接
3.向服务器发送http请求
4.接收得到的数据
5.关闭连接
6.本地处理得到的数据
http://blog.csdn.net/rebelqsp/article/details/22109925
http://blog.csdn.net/lv_victor/article/details/52107622
import socket #导入socket库 '''建立一个socket,AF_INET表示ipv4协议(AF_INET6表示ipv6协议),
SOCK_STREAM表示使用面向流的TCP协议(SOCK_DGRAM表示数据报式的socket,即UDP)'''
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('www.qq.com',80)) #建立连接 #给服务器发送http请求,使用http1.1协议(格式)
s.send(b'GET / HTTP/1.1\r\nHOST: www.qq.com\r\n\r\nConnection: closer\r\n\r\n') #定义一个list用于接收文本格式文件
buffer=[] #持续扫描是否有数据发送过来
while True:
d = s.recv(2048) #每次接收数据的大小
if d:
buffer.append(d) #每次收到的数据追加到buffer中
else:
break #若没有数据发送过来,则跳出循环 data = b''.join(buffer) #b表示字节形式,新建一个data字节,并连接buffer
s.close() #链接关闭 header,html = data.split(b'\r\n',1)
print(header.decode('utf-8')) with open('G:\sina.html','wb') as f:
f.write(html)
soket客户端程序(一)的更多相关文章
- 基于 SailingEase WinForm Framework 开发客户端程序(3:实现菜单/工具栏按钮的解耦及状态控制)
本系列文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以 SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...
- php编写tcp服务器和客户端程序
这是我从别的地方看到的. 1.修改php.ini,打开extension=php_sockets.dll 2.客户端程序 SocketClient.php <?php set_time_limi ...
- 在公司内网上创建自己的 OSM.Planet 街道级别地图服务器及其客户端程序
转自我的BLOG http://blog.csdn.net/goldenhawking/article/details/6402775 最近经过陛下点拨,涉猎了“OpenStreetMap”,做了不 ...
- 使用 Socket 通信实现 FTP 客户端程序(来自IBM)
FTP 客户端如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的 Socket 来实现.FTP 客户端与服务器端进行数据交换必须建立两个套接字,一个作为命令通道,一个作为数据通 ...
- winform客户端程序第一次调用webservice方法很慢的解决方法
.net2.0的winform客户端最常用的与服务端通信方式是通过webservice,最近在用dottrace对客户端做性能测试的时候发现,客户端程序启动以后,第一次调用某一个webservice的 ...
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端一)
介绍完了服务器,这篇我们就要介绍重点了,写我们自己的IOS客户端程序 先看一下我们完成的效果图 首先下载xmppframework这个框架,下载 点ZIP下载 接下来,用Xcode新建一个工程 将以下 ...
- WCF中修改接口或步骤名称而不影响客户端程序
WCF中修改接口或方法名称而不影响客户端程序 本篇接着"从Web Service和Remoting Service引出WCF服务"中有关WCF的部分. 运行宿主应用程序. 运行We ...
- 我的第一个REST客户端程序!
Delphi:XE8 看了好几天的资料了,也没有弄出来一个REST程序,尝试了XE8中带的例子,也都没有搞懂.我在网上不断搜索,看是否能够找到适合自己的文章,希望能够做出来一个REST的小例子,万幸, ...
- 使用WIX打包客户端程序
原文:使用WIX打包客户端程序 用WPF为客户做了个小工具,打包的时候发现VS2012居然没有安装项目了,搜了下才知道现在推荐使用WIX来打包了http://wix.sourceforge.net/, ...
随机推荐
- Vagrant虚拟机的配置管理
Vagrant虚拟机的配置管理 一.shell配置管理 二.使用Puppet进行配置管理 三.案例 Apache服务器的自动配置 3.1 shell配置管理 3.2 puppet配置管理 ps:由于最 ...
- hdu 3062 2-sat入门题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062 #include <cstdio> #include <cmath> # ...
- 男人的网站—Indochino不完全解析 | 曾亮.ME
男人的网站-Indochino不完全解析 | 曾亮.ME 亮兄 可以参考一下国内的 ROMWE SHEINSIDE
- PHP学习之[第10讲]PHP 的 Mysql 数据库函数 (微型博客系统)II
mysql结构如下: -- phpMyAdmin SQL Dump -- version 4.4.1.1 -- http://www.phpmyadmin.net -- -- Host: localh ...
- POJ 1686 Lazy Math Instructor (模似题+栈的运用) 各种坑
Problem Description A math instructor is too lazy to grade a question in the exam papers in which st ...
- select默认选择的实现方法
<script type="text/javascript"> <!-- document.biao.bbb.value = "云南";//b ...
- mybatis3温故
MyBatis可以利用SQL映射文件来配置,也可以利用Annotation来设置.MyBatis提供的一些基本注解如下表所示. 注解 目标 相应的XML 描述 @CacheNamespace 类 &l ...
- AS 7 Internal Architecture Overview--reference
High Level Overview At a coarse level, AS 7 consists of two main elements: A core manageable service ...
- oracle的sql优化
http://www.cnblogs.com/rootq/archive/2008/11/17/1334727.html
- winapi获取鼠标位置
using System; using System.Drawing; using System.Runtime.InteropServices; using System.Threading; na ...