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/m.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燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP