Python 板


LINE

先前有问问题,承蒙几位前辈指正 所以做了一些测试 先以postman送https post,顺利执行成功 但用python用request去送,却出现 Failed to establish a new connection: [WinError 10060] 所以试着用wireshark去抓封包观察 发现两者在最初的standard query和回应的standard query response都长一样 但下一步却connect到不同的地方 postman是正确的CONNECT到我请求的API位址 但python request却是CONNECT到mobile.events.data.microsoft.com 一整个超莫名其妙 觉得问题应该就出在这里,但完全不知道如何解决 不晓得该怎麽解决这个问题 有劳高手指点>< python code是长下面这样(私密资料已代换): import requests import json url = https://API位址 payload = json.dumps({ "to": "XXXXXX", "messages": [ { "type": "text", "text": "测试讯息" } ] }) headers = { 'Content-Type': 'application/json', 'Authorization': 认证资料 } response = requests.request("POST", url=url, headers=headers, data=payload) --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.71.217.244 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1728629548.A.458.html
1F:推 TuCH: requests.post? 10/11 15:03
2F:→ Federer5566: 改resquests.post也是一样的error code 10/11 15:28
3F:→ Federer5566: wireshark抓包的部分也一样导去那个怪地方 10/11 15:28
4F:→ Hsins: 你可能还需要补一些资讯;这个错误是使用 requests 就立刻 10/11 16:34
5F:→ Hsins: 出现,还是打了一阵子请求才出现? 10/11 16:34
6F:→ Hsins: 仅仅只有这个错误讯息的话,就只能知道是连接超时,涉及的 10/11 16:37
7F:→ Hsins: 原因很多。多数人碰到这个问题,比较有可能是因为超过了对 10/11 16:37
8F:→ Hsins: 方伺服器允许的连结次数、或者是同一 IP 位址超过连结数量 10/11 16:37
9F:→ Hsins: ,又或是 IP 被封禁导致。 10/11 16:37
10F:→ Hsins: 抓包如果是出现错误之後才去抓,那也有可能是超过访问上限 10/11 16:38
11F:→ Hsins: 而被转址,并不能够有效定位问题唷。 10/11 16:38
12F:→ Hsins: 假设你是同一台机器,且程式或 Postman 均没有使用 proxy 10/11 16:43
13F:→ Hsins: 访问,比较有可能就是超过访问次数导致的,因为 Postman 只 10/11 16:44
14F:→ Hsins: 打一次请求,而许多人用 requests 会写在循环中发起多个请 10/11 16:44
15F:→ Hsins: 求;另外一个可能就是 headers 携带的内容跟 Postman 存在 10/11 16:44
16F:→ Hsins: 差异,比如许多站点还会根据 User-Agent 去判断。 10/11 16:44
17F:→ Federer5566: 嗯,我是按F5前就让wireshark开始抓,应该不算是跑 10/11 17:07
18F:→ Federer5566: 失败才去抓;另外,也没有用回圈去送request,只下1 10/11 17:08
19F:→ Federer5566: 次;User-Agent部分,我试着把postman的User-Agent设 10/11 17:08
20F:→ Federer5566: 给Python的requests去带,结果看起来还是一样... 10/11 17:09
21F:→ Federer5566: 发现没回应到一个问题,我的错误是F5之後过一段时间 10/11 17:10
22F:→ Federer5566: 才出现,并不是执行後马上跳出来 10/11 17:10
23F:→ Hsins: 如果不是连线次数超过上限或是连线过於频繁,比较大的可能 10/11 17:59
24F:→ Hsins: 还是在 headers 的资讯。在 Postman 里面可以生成请求对应 10/11 17:59
25F:→ Hsins: 的 Python 程式码,你可以先试试看 10/11 17:59
26F:→ blc: data=payload 改成 json=payload 试试 10/11 18:15
27F:→ lycantrope: 先json.dumps data=json.dumps(payload) 10/11 21:24
28F:推 hanksky: 我也曾经有过postman可以,程式不可以,後来把postman旁 10/12 08:44
29F:→ hanksky: 边提供输出的python程式码,去和自己比对,才抓出自己的 10/12 08:44
30F:→ hanksky: 问题 10/12 08:44
31F:→ HerryL: 那,用curl会得到哪种结果? 10/19 21:35
32F:→ JerryChungYC: 有类似问题 get在浏览器工具编辑和重放请求可以成功 10/21 15:09
33F:→ JerryChungYC: 但请求复制curl转python或丢postman都会被判定403 10/21 15:09
34F:→ JerryChungYC: 一样是11号开始发生的 10/21 15:09
35F:→ JerryChungYC: 因为是get 没上面data或json的问题 还有什麽可能原 10/21 15:10
36F:→ JerryChungYC: 因吗 10/21 15:10
37F:→ Hsins: 403 的错误资讯跟你说没权限,要嘛 headers 没有带足够的认 10/21 18:05
38F:→ Hsins: 证资讯,要嘛就是 IP 被封;另外对方判断认证资讯的方式跟 10/21 18:05
39F:→ Hsins: 逻辑,也会影响要怎麽带,很多时候未必是直接照着送就可以 10/21 18:05
40F:→ Hsins: 了。 10/21 18:05
41F:→ JerryChungYC: 用Fiddler获得的请求 用内建的Composer Raw有试过 10/21 18:57
42F:→ JerryChungYC: headers顺序变换 或是把key全转小写 都还是成功 10/21 18:57
43F:→ JerryChungYC: DevTools的请求根据Fiddler Raw格式填上 也能成功 10/21 18:57
44F:→ JerryChungYC: py用requests或http.client都不行 cmd用curl也不行 10/21 18:57
45F:→ JerryChungYC: 不知道还有什麽可能的判断方式 10/21 18:57
46F:推 JerryChungYC: 在Fiddler把 header 剩 Host, Authorization, 10/21 19:03
47F:→ JerryChungYC: Accept, 10/21 19:03
48F:→ JerryChungYC: Accept-Encoding, Accept-Language, User-Agent, 10/21 19:03
49F:→ JerryChungYC: Connection 还是有成功 还是python有什麽连线方式不 10/21 19:03
50F:→ JerryChungYC: 同 10/21 19:03
51F:→ Hsins: 也有可能是对方需要 HTTP2 而 requests 不支持,一般会改用 10/21 19:17
52F:→ Hsins: httpx 试试 10/21 19:17
53F:→ Hsins: 有些站点还会根据 TLS fingerprint 去比对客户端,这时候会 10/21 19:21
54F:→ Hsins: 用 curl_cffi 套件处理。可能的状况有很多,要看对方伺服器 10/21 19:21
55F:→ Hsins: 的判断机制是什麽 10/21 19:21
56F:→ Hsins: 如果浏览器、Postman 跟抓包工具都正常的话,比较有机会是 10/21 19:28
57F:→ Hsins: TLS 指纹的问题 10/21 19:28
58F:→ Hsins: 如果对方反爬的限制不严格,那 httpx 也可以设定简单的 cip 10/21 19:31
59F:→ Hsins: hers 绕过 10/21 19:31
60F:→ JerryChungYC: 更新一下 curl -v "url" -H "Authorization: ..." 10/21 21:11
61F:→ JerryChungYC: -H "User-Agent: ..." 可以成功 是用 HTTP/1.1 10/21 21:11
62F:→ JerryChungYC: 会自动补上 Host 跟 Accept: */* 10/21 21:11
63F:→ JerryChungYC: 最後先用subprocess跟curl解决 requests暂时没想法 10/21 21:11
64F:→ blc: https://httpbin.org/headers 这个会回传送出去的headers 10/23 18:49
65F:→ Federer5566: 不好意思,我是这篇的原po,我的python code就是从 10/28 14:39
66F:→ Federer5566: POSTMAN里转成python的,偏偏wireshark抓包结果不一 10/28 14:40
67F:→ Hsins: 如同我前面说的,你要不要再试试看调整 TLS 指纹或改用 HTT 10/28 17:06
68F:→ Hsins: P2 10/28 17:07
69F:→ Lordaeron: 不是应该先问,该domain 如果不是由你提供的,哪麽它是 11/26 15:56
70F:→ Lordaeron: 从何而来的呢?这才是你先要关心的问题吧. 11/26 15:56







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP