把请求头信息添加到请求报文中,然后发送请求到淘宝,显示回复信息

import socket  # 提供了创建套接字和进行网络通信的功能
# 建立TCP连接
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 与服务器建立连接
host='www.taobao.com'
s.connect(('www.taobao.com',80))  # HTTP服务的默认端口号是80,FTP的默认端口号是21,SMTP的默认端口号是25等

s.send("Get /HTTP/1.1\r\nHost:{}\r\nConnection:close\r\n \
       User-Agen:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) \
       Gecko/20100101 Firefox/116.0 \r\n\r\n".format(host).encode("utf-8"))

print(s.recv(1024).decode('utf-8'))  # 'recv'方法的参数是希望接收的数据的最大字节数
s.close()

使用'send'方法将HTTP请求报文发送到服务器。这个请求是GET请求,并且指定了HTTP版本为1.1。"
"在请求报文中添加Host头信息,其中'{}'被替换为淘宝的域名(http://www.taobao.com)。"
"在请求报文中添加Connection头信息,其值为'close',表示此请求完成后,就关闭连接。"
"在请求报文中添加User-Agent头信息,这是一个假扮的浏览器信息,通常服务器会根据这个信息来返回不同的内容。",
"再添加一个空行,表示请求报文的结束。"
"使用'recv'方法接收服务器返回的HTTP响应报文,并使用'decode'方法将其从二进制格式转换为字符串格式。"
 

HTTP/1.1 400 Bad Request
Server: Tengine
Date: Fri, 20 Oct 2023 14:44:14 GMT
Content-Type: text/html
Content-Length: 249
Connection: close
Via: cache5.cn4242-1[,0]
Timing-Allow-Origin: *
EagleId: 0000000016978130543453246e

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>400 Bad Request</title></head>
<body>
<h1>400 Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<hr/>Powered by Tengine</body>
</html>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值