鱼C论坛

 找回密码
 立即注册
查看: 1367|回复: 8

[已解决]跪求大佬,socket请求返回bad request 。。。

[复制链接]
发表于 2020-6-6 15:19:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下:
import ssl
import socket

host = "www.douban.com"
port = 443
User_Agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'
client_sk = ssl.wrap_socket(socket.socket())

client_sk.connect((host,port))

request = 'GET HTTP/1.1\r\nhsot:{} User-Agent:{}\r\n\r\n'.format(host,User_Agent).encode('utf8')

client_sk.send(request)

response = client_sk.recv(1024).decode('utf8')
print(response)

结果如下:
HTTP/1.1 400 Bad Request
Date: Thu, 04 Jun 2020 05:19:43 GMT
Content-Type: text/html
Content-Length: 150
Connection: close
Server: dae

<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>
  求解求解。。。。
最佳答案
2020-6-6 20:52:52
vitamin 发表于 2020-6-6 20:50
太可恨了,一个评论网站也反扒。。。让我的小实验怎么做。。。

加上 cookie 试试  还有看看有没有 Referer 也加到headers 里面去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-6 15:25:06 | 显示全部楼层
本帖最后由 xiaosi4081 于 2020-6-6 15:29 编辑

错误:User_Agent
正确:User-Agent
import ssl
import socket

host = "www.douban.com"
port = 443
User-Agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'
client_sk = ssl.wrap_socket(socket.socket())

client_sk.connect((host,port))

request = 'GET HTTP/1.1\r\nhsot:{} User-Agent:{}\r\n\r\n'.format(host,User-Agent).encode('utf8')

client_sk.send(request)

response = client_sk.recv(1024).decode('utf8')
print(response)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 15:26:47 | 显示全部楼层
本帖最后由 vitamin 于 2020-6-6 15:30 编辑
xiaosi4081 发表于 2020-6-6 15:25
错误:User_Agent
正确:User-Agent




User_Agent  这东西做变量,传给douban还是User-Agent
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 15:44:45 | 显示全部楼层
import ssl
import socket

host = "www.douban.com"
port = 443
User_Agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'
client_sk = ssl.wrap_socket(socket.socket())

client_sk.connect((host,port))

request = 'GET / HTTP/1.1\r\nHost:{}\r\nUser-Agent:{}\r\n\r\n'.format(host,User_Agent).encode('utf8')

client_sk.send(request)

response = client_sk.recv(4096).decode('utf8')
print(response)
有几处拼写不对,还有缺少换行,你也没写请求什么资源,去看看网页的请求头view source
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 19:11:55 | 显示全部楼层
塔利班 发表于 2020-6-6 15:44
有几处拼写不对,还有缺少换行,你也没写请求什么资源,去看看网页的请求头view source

感谢。我就是不明白为什么反馈给我bad request呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 19:53:51 | 显示全部楼层
vitamin 发表于 2020-6-6 19:11
感谢。我就是不明白为什么反馈给我bad request呢。

很可能是被反爬了 , 你试着在请求头那加上 cookie
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 20:50:42 | 显示全部楼层
Twilight6 发表于 2020-6-6 19:53
很可能是被反爬了 , 你试着在请求头那加上 cookie

  太可恨了,一个评论网站也反扒。。。让我的小实验怎么做。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 20:52:52 | 显示全部楼层    本楼为最佳答案   
vitamin 发表于 2020-6-6 20:50
太可恨了,一个评论网站也反扒。。。让我的小实验怎么做。。。

加上 cookie 试试  还有看看有没有 Referer 也加到headers 里面去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-6 22:12:39 | 显示全部楼层
Twilight6 发表于 2020-6-6 20:52
加上 cookie 试试  还有看看有没有 Referer 也加到headers 里面去

ok。多谢指点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 19:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表