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