目录

问题描述:

过程:

1.Remote end closed connection without response

2.ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

结果:

另外的一些原因:



问题描述:

最近在python学习的时候,按照老师教的方法敲的代码(因为是过去的视频),已经不管用了。

看了网上的 原因,

1.频繁访问导致远程怀疑是恶意攻击

2.User-Agent被网站记录不允许访问

但是我是第一次运行代码,并且我的User-Agent也是自己的,按理说不应该会出现上面两个问题

感觉问题应该是出在最后面的response里面或者发起请求那三段的某个出现的问题

我有用try/except监控代码错误,报的第一个错误

过程:

1.Remote end closed connection without response

try:
# url="https://www.douban.com"url = "http://www.baidu.com"headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
}data = bytes(urllib.parse.urlencode({"name":"epic"}),encoding="utf-8")req = urllib.request.Request(url=url,data=data,headers=headers,method="post")#发起请求response = urllib.request.urlopen(req,timeout=10)          #我们封装了一个对象,req,我们将req发给网站,让网站人为我们是浏览器。这里仅向的操作是对浏览器发起请求print(response.read().decode("utf-8"))response.close()
except Exception as result:print(result)

2.ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

在我丰富了我的headers之后报了这个错误。(后面怀疑是data不完全,丰富了之后还是这个错误)

import urllib.request
import urllib.parse
#封装对象try:
# url="https://www.douban.com"url = "http://www.baidu.com"headers={'Accept': '*/*','Accept-Encoding' :  'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Cookie': 'BIDUPSID=74A9BD36A1FFF74DA2F38B0AE0DD3EFA; PSTM=1622191452; BAIDUID=74A9BD36A1FFF74D20A510FAE51B4E93:FG=1; __yjs_duid=1_7254307256b4882c94225f74fcc7ff8d1622191509198; HOSUPPORT=1; HOSUPPORT_BFESS=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDSFRCVID_BFESS=ClkOJexroG0YPHrHWDoFb_8lLgKKg7jTDYrEhjOMNmpvsBtVg3ioEG0PtEpGNL_bYGzWogKKWmOTH7_F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=tJFJoC-MJDI3fP36qROE-tC--fT2aP_XKKOLVhOs2h7ketn4hUt2Wq8nK47U0PRlKH8OWpRjWhvJMnc2QhrKQtkqXPcw2ROq-2rJ-J0b2R7psIJM5Mo2QUCTBU5k0bTUaKviaM3EBMb1MU7DBT5h2M4qMxtOLR3pWDTm_q5TtUJMeCnTDMFhe4tX-NFHJTtqJU5; pplogid=1204BKXtxjxcnUX3N97rEylwHl1oZNKcglPg9i5Xsjm4THQoi08fa1cYvutIbLGhrQpbhMrZwlNzRl4%2FFlMzI5FlhW4W53%2FHCL0ueA%2BfRF9b4y8%3D; pplogid_BFESS=1204BKXtxjxcnUX3N97rEylwHl1oZNKcglPg9i5Xsjm4THQoi08fa1cYvutIbLGhrQpbhMrZwlNzRl4%2FFlMzI5FlhW4W53%2FHCL0ueA%2BfRF9b4y8%3D; BAIDUID_BFESS=74A9BD36A1FFF74D20A510FAE51B4E93:FG=1; H_PS_PSSID=34398_34335_34272_31660_34376_34004_34092_34107_34111_26350_34289_34390; BA_HECTOR=a08l0l8h2l850k8l071ggrpkl0q','Host': 'passport.baidu.com','Referer':'https://www.baidu.com/','sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"','sec-ch-ua-mobile': '?0','Sec-Fetch-Dest': 'script','Sec-Fetch-Mode': 'no-cors','Sec-Fetch-Site': 'same-site',"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
}data = bytes(urllib.parse.urlencode({"name":"epic"}),encoding="utf-8")req = urllib.request.Request(url=url,data=data,headers=headers,method="post")#发起请求response = urllib.request.urlopen(req,timeout=10)          #我们封装了一个对象,req,我们将req发给网站,让网站人为我们是浏览器。这里仅向的操作是对浏览器发起请求print(response.read().decode("utf-8"))response.close()
except Exception as result:print(result)

丰富data之后:

import urllib.request
import urllib.parse
#封装对象# url="https://www.douban.com"
url = "http://www.baidu.com"
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.6 Safari/537.36"
}
data={'ie': 'utf-8','f': '8','rsv_bp': '1','rsv_idx': '1','tn': '62095104_33_oem_dg','bar':'' ,'wd': '你好','rn':'' ,'fenlei': '256','oq':'' ,'rsv_pq': 'e02b96200002fb16','rsv_t': '0f31Ysnn/7Pcx/aavfBDII4TXR0Q61TQBpO3t+MkaLr9tqfBDmlUpC+LBiio3Krboz0G8VJTE8My','rqlang': 'cn','rsv_enter': '0','rsv_btype': 'i','rsv_dl': 'ib','inputT': '3179'}
# req = urllib.request.Request(url=url,data=data,headers=headers,method="post")#发起请求
response = requests.post(url=url,data=data,headers=headers)          #我们封装了一个对象,req,我们将req发给网站,让网站人为我们是浏览器。这里仅向的操作是对浏览器发起请求
print(response.text)

结果:

(更新:今天又试了一下,原来只是post要大写,大写之后就可以得到数据了)

最后发现其实就是方法错误调用的原因

用的requests库

headers只需要一个User-Agent,data里只需要name键值对就好了。


import requests
#封装对象# url="https://www.douban.com"
url = "http://www.baidu.com"
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.6 Safari/537.36"
}
data = bytes(urllib.parse.urlencode({"name":"epic"}),encoding="utf-8")
# req = urllib.request.Request(url=url,data=data,headers=headers,method="post")#发起请求
response = requests.post(url=url,data=data,headers=headers)          #我们封装了一个对象,req,我们将req发给网站,让网站人为我们是浏览器。这里仅向的操作是对浏览器发起请求
print(response.text.encode("utf-8"))

另外的一些原因:

1.url里面是http还是https,不一致也该会导致报错

Remote end closed connection without response相关推荐

  1. python3 Connection aborted.', RemoteDisconnected('Remote end closed connection without response'

    在写爬虫的时候遇到了问题,网站是asp.net写的 requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconn ...

  2. 成功解决:http.client.RemoteDisconnected: Remote end closed connection without response

    成功解决:http.client.RemoteDisconnected: Remote end closed connection without response 问题描述 运行程序超时,有时可以正 ...

  3. charles抓取iphone https包报错:SSLHandshake: Remote host closed connection during handshake

    按照此方法:https://blog.csdn.net/lyhDream/article/details/53178118  在iphone上安装了charles的证书,在charles上也设置了ht ...

  4. 解决 ”upstream prematurely closed connection while reading response header from upstream“ 问题,运行环境为:ngi

    解决 "upstream prematurely closed connection while reading response header from upstream" 问题 ...

  5. 全网多种方式解决Unchecked runtime.lastError: The message port closed before a response was received的错误

    文章目录 1. 文章引言 2. 分析问题 3. 解决问题 4. 解决该错误的其他方法 1. 文章引言 今天启动项目后访问Knife4j接口文档,却报出下图错误: 在报出Knife4j文档请求异常错误时 ...

  6. linux执行mount命令报错:mount: RPC: Remote system error - Connection refused(NFS:nfs-kernel-server 挂载教程)

    文章目录 什么是NFS挂载目录? 第一次尝试(失败) 第二次尝试(成功) - (ubuntu上安装NFS,Ubuntn上默认没有安装) - (给ubuntu上需要被共享的文件夹赋予权限,保证使用者都能 ...

  7. 关于putty连接服务器提示server unexpectedly closed connection解决方法

    1.今日在对服务器进巡检时,发现无法使用putty连接到服务器,提示错误server unexpectedly closed connection.之前在连接服务器的时候也没遇到这样的情况,遂在网上进 ...

  8. 关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案(转)

    关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案(转) 参考文章: (1)关于java.sql.SQLRecoverableEx ...

  9. 谷歌浏览器插件扩展引起的报错 Unchecked runtime.lastError: The message port closed before a response was received.

    Unchecked runtime.lastError: The message port closed before a response was received.7Error handling ...

  10. 谷歌浏览器扩展程序报错 The message port closed before a response was received.

    问题描述 Chrome Extension 报错: Unchecked runtime.lastError: The message port closed before a response was ...

最新文章

  1. 基于Python语言Hamcrest断言的使用
  2. 16位cpu 移位处理
  3. Android APK文件学习调研
  4. 【机器学习】逻辑回归小结
  5. python编程环境安装包_Python环境安装与配置
  6. Python 数据类型 list(1)
  7. 思科模拟器 简单网络连接操作
  8. Lucas(卢卡斯)定理
  9. hastable与dictionary
  10. mysql insert duplicate key update
  11. DLL调用异常:The value of ESP was not properly
  12. 动态时间规整算法_如何使用动态时间规整算法进行语音识别
  13. java子网掩码计算器_java 子网掩码计算
  14. java怎么用unicode写程序_简单的讲解Java是使用Unicode字符集
  15. HCIE Secuirty URPF技术 备考笔记(幕布)
  16. SAS程序探索性因子分析
  17. 以平静的心接受与自己意愿相违背的事
  18. input标签 设置纯数字输入
  19. java画一张笑脸_java swing应用(1):画一个眨眼珠的笑脸
  20. 搞笑新闻联播之老公岗位制度(中)铃声 搞笑新闻联播之老公岗...

热门文章

  1. 鼠标移动让图片倾斜45度
  2. 优秀logo设计解析_国外30个优秀的logo的设计思维分析
  3. MonthCalendar的mousedown方法选择日期
  4. 来电弹屏--线程间操作无效: 从不是创建控件的线程访问它
  5. npm-Babel转码器
  6. 修改win7计算机mac,win7如何在注册表改网卡mac
  7. tableau中创建一个默认为今天日期的日期字段
  8. Module not specified
  9. 聚簇索引,非聚簇索引
  10. oracle lob值是什么,关于Oracle数据库LOB大字段总结