Remote end closed connection without response
目录
问题描述:
过程:
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相关推荐
- python3 Connection aborted.', RemoteDisconnected('Remote end closed connection without response'
在写爬虫的时候遇到了问题,网站是asp.net写的 requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconn ...
- 成功解决:http.client.RemoteDisconnected: Remote end closed connection without response
成功解决:http.client.RemoteDisconnected: Remote end closed connection without response 问题描述 运行程序超时,有时可以正 ...
- charles抓取iphone https包报错:SSLHandshake: Remote host closed connection during handshake
按照此方法:https://blog.csdn.net/lyhDream/article/details/53178118 在iphone上安装了charles的证书,在charles上也设置了ht ...
- 解决 ”upstream prematurely closed connection while reading response header from upstream“ 问题,运行环境为:ngi
解决 "upstream prematurely closed connection while reading response header from upstream" 问题 ...
- 全网多种方式解决Unchecked runtime.lastError: The message port closed before a response was received的错误
文章目录 1. 文章引言 2. 分析问题 3. 解决问题 4. 解决该错误的其他方法 1. 文章引言 今天启动项目后访问Knife4j接口文档,却报出下图错误: 在报出Knife4j文档请求异常错误时 ...
- linux执行mount命令报错:mount: RPC: Remote system error - Connection refused(NFS:nfs-kernel-server 挂载教程)
文章目录 什么是NFS挂载目录? 第一次尝试(失败) 第二次尝试(成功) - (ubuntu上安装NFS,Ubuntn上默认没有安装) - (给ubuntu上需要被共享的文件夹赋予权限,保证使用者都能 ...
- 关于putty连接服务器提示server unexpectedly closed connection解决方法
1.今日在对服务器进巡检时,发现无法使用putty连接到服务器,提示错误server unexpectedly closed connection.之前在连接服务器的时候也没遇到这样的情况,遂在网上进 ...
- 关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案(转)
关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案(转) 参考文章: (1)关于java.sql.SQLRecoverableEx ...
- 谷歌浏览器插件扩展引起的报错 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 ...
- 谷歌浏览器扩展程序报错 The message port closed before a response was received.
问题描述 Chrome Extension 报错: Unchecked runtime.lastError: The message port closed before a response was ...
最新文章
- 基于Python语言Hamcrest断言的使用
- 16位cpu 移位处理
- Android APK文件学习调研
- 【机器学习】逻辑回归小结
- python编程环境安装包_Python环境安装与配置
- Python 数据类型 list(1)
- 思科模拟器 简单网络连接操作
- Lucas(卢卡斯)定理
- hastable与dictionary
- mysql insert duplicate key update
- DLL调用异常:The value of ESP was not properly
- 动态时间规整算法_如何使用动态时间规整算法进行语音识别
- java子网掩码计算器_java 子网掩码计算
- java怎么用unicode写程序_简单的讲解Java是使用Unicode字符集
- HCIE Secuirty URPF技术 备考笔记(幕布)
- SAS程序探索性因子分析
- 以平静的心接受与自己意愿相违背的事
- input标签 设置纯数字输入
- java画一张笑脸_java swing应用(1):画一个眨眼珠的笑脸
- 搞笑新闻联播之老公岗位制度(中)铃声 搞笑新闻联播之老公岗...