python网络编程---TCP客户端
生活随笔
收集整理的這篇文章主要介紹了
python网络编程---TCP客户端
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
0x01 環(huán)境
python2、 pycharm
0x02 程序
# -*- coding:UTF-8 -*- import sockettarget_host='www.baidu.com' tarfet_port=80 ''' target_host='localhost' target_port=3345 data='ABCDEF' ''' # 創(chuàng)建一個(gè)socket對(duì)象 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 連接客戶端 client.connect((target_host,target_port)) # 發(fā)送一些數(shù)據(jù) client.send("GET / HTTP/1.1\r\nHost:baidu.com\r\n\r\n") # 接收一些數(shù)據(jù) response=client.recv(4096) print response0x03 程序解釋
下面這段代碼是用來(lái)創(chuàng)建一個(gè)套接字,socket函數(shù)有三個(gè)參數(shù)
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)分別為:
socket(family,type[,protocal])- family是地址系列,主要有:
| socket.AF_INET | IPv4,默認(rèn) |
| socket.AF_INET6 | IPv6 |
- type是套接字類型,主要有
| socket.SOCK_STREAM | 創(chuàng)建的套接字基于TCP,默認(rèn) |
| socket.SOCK_DGRAM | 創(chuàng)建的套接字基于UDP |
- protocal默認(rèn)就行
當(dāng)執(zhí)行完這條語(yǔ)句就會(huì)成功創(chuàng)建一個(gè)套接字,下面這條語(yǔ)句是與服務(wù)器連接,
client.connect((target_host,target_port))connect函數(shù)的參數(shù)是地址,地址的用一個(gè)元組表示
client.send("GET / HTTP/1.1\r\nHost:baidu.com\r\n\r\n")這條語(yǔ)句是發(fā)送數(shù)據(jù)語(yǔ)句,socket.send(string[, flags]) 發(fā)送TCP數(shù)據(jù),返回發(fā)送的字節(jié)大小,這個(gè)函數(shù)發(fā)送的大小有限,當(dāng)數(shù)據(jù)太大,不一定一次會(huì)全部發(fā)送完數(shù)據(jù),注意一下。
response=client.recv(4096)recv是用來(lái)接收TCP數(shù)據(jù),限定一次接收字節(jié)數(shù),數(shù)據(jù)以字符串的形式返回
0x04 運(yùn)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的python网络编程---TCP客户端的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 天津一度电多少钱啊?
- 下一篇: python网络编程--UDP客户端