[問題] POSTMAN和python跑request結果不一致

看板Python作者 (費德勒5566)時間6天前 (2024/10/11 14:52), 編輯推噓2(2028)
留言30則, 6人參與, 6天前最新討論串1/1
先前有問問題,承蒙幾位前輩指正 所以做了一些測試 先以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://www.ptt.cc/bbs/Python/M.1728629548.A.458.html

10/11 15:03, 6天前 , 1F
requests.post?
10/11 15:03, 1F

10/11 15:28, 6天前 , 2F
改resquests.post也是一樣的error code
10/11 15:28, 2F

10/11 15:28, 6天前 , 3F
wireshark抓包的部分也一樣導去那個怪地方
10/11 15:28, 3F

10/11 16:34, 6天前 , 4F
你可能還需要補一些資訊;這個錯誤是使用 requests 就立刻
10/11 16:34, 4F

10/11 16:34, 6天前 , 5F
出現,還是打了一陣子請求才出現?
10/11 16:34, 5F

10/11 16:37, 6天前 , 6F
僅僅只有這個錯誤訊息的話,就只能知道是連接超時,涉及的
10/11 16:37, 6F

10/11 16:37, 6天前 , 7F
原因很多。多數人碰到這個問題,比較有可能是因為超過了對
10/11 16:37, 7F

10/11 16:37, 6天前 , 8F
方伺服器允許的連結次數、或者是同一 IP 位址超過連結數量
10/11 16:37, 8F

10/11 16:37, 6天前 , 9F
,又或是 IP 被封禁導致。
10/11 16:37, 9F

10/11 16:38, 6天前 , 10F
抓包如果是出現錯誤之後才去抓,那也有可能是超過訪問上限
10/11 16:38, 10F

10/11 16:38, 6天前 , 11F
而被轉址,並不能夠有效定位問題唷。
10/11 16:38, 11F

10/11 16:43, 6天前 , 12F
假設你是同一台機器,且程式或 Postman 均沒有使用 proxy
10/11 16:43, 12F

10/11 16:44, 6天前 , 13F
訪問,比較有可能就是超過訪問次數導致的,因為 Postman 只
10/11 16:44, 13F

10/11 16:44, 6天前 , 14F
打一次請求,而許多人用 requests 會寫在循環中發起多個請
10/11 16:44, 14F

10/11 16:44, 6天前 , 15F
求;另外一個可能就是 headers 攜帶的內容跟 Postman 存在
10/11 16:44, 15F

10/11 16:44, 6天前 , 16F
差異,比如許多站點還會根據 User-Agent 去判斷。
10/11 16:44, 16F

10/11 17:07, 6天前 , 17F
嗯,我是按F5前就讓wireshark開始抓,應該不算是跑
10/11 17:07, 17F

10/11 17:08, 6天前 , 18F
失敗才去抓;另外,也沒有用迴圈去送request,只下1
10/11 17:08, 18F

10/11 17:08, 6天前 , 19F
次;User-Agent部分,我試著把postman的User-Agent設
10/11 17:08, 19F

10/11 17:09, 6天前 , 20F
給Python的requests去帶,結果看起來還是一樣...
10/11 17:09, 20F

10/11 17:10, 6天前 , 21F
發現沒回應到一個問題,我的錯誤是F5之後過一段時間
10/11 17:10, 21F

10/11 17:10, 6天前 , 22F
才出現,並不是執行後馬上跳出來
10/11 17:10, 22F

10/11 17:59, 6天前 , 23F
如果不是連線次數超過上限或是連線過於頻繁,比較大的可能
10/11 17:59, 23F

10/11 17:59, 6天前 , 24F
還是在 headers 的資訊。在 Postman 裡面可以生成請求對應
10/11 17:59, 24F

10/11 17:59, 6天前 , 25F
的 Python 程式碼,你可以先試試看
10/11 17:59, 25F

10/11 18:15, 6天前 , 26F
data=payload 改成 json=payload 試試
10/11 18:15, 26F

10/11 21:24, 6天前 , 27F
先json.dumps data=json.dumps(payload)
10/11 21:24, 27F

10/12 08:44, 6天前 , 28F
我也曾經有過postman可以,程式不可以,後來把postman旁
10/12 08:44, 28F

10/12 08:44, 6天前 , 29F
邊提供輸出的python程式碼,去和自己比對,才抓出自己的
10/12 08:44, 29F

10/12 08:44, 6天前 , 30F
問題
10/12 08:44, 30F
文章代碼(AID): #1d2CiiHO (Python)
文章代碼(AID): #1d2CiiHO (Python)