国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

小程序server請求微信服務器超時的解決方法

2024-05-06 16:51:09
字體:
來源:轉載
供稿:網友

今天有同學在測試小程序的過程中,發現一個問題,調用 微信官方的服務端接口超時 ,比如這個接口,https://api.weixin.qq.com/sns/jscode2session ,因為我們小程序登錄的時候,會在自己server端調用微信的API,這個接口超時,導致我們的登錄流程也就掛掉了。本來以為是偶爾的網絡問題,但是,同學發現在測試服務器上,很穩定的復現超時!但是在我們本地測試過程中,請求微信服務器又很快響應。嗯,理論上微信服務器不會出問題的……

試著在服務器上去 curl 微信的接口,確實挺慢的,我們代碼里配置了超時是3秒,目測確實超過了3秒才返回!抱著僥幸的想法,讓同學把超時改成5秒,依然超時……嗯,略微有點尷尬。

試著 ping api.weixin.qq.com ,發現收到第一個包,隔著挺長時間,后面的包平均幾十毫秒,網絡應該也沒問題吧。

沒辦法了,因為是服務端,只能用 curl,想看看這個工具能不能提供一下,整個請求的各個階段,時間是怎么分布的。搜了一下,還真有這個功能,具體操作如下:

在某個目錄下,新建一個文件,比如 curl-format.txt ,內容如下:

 time_namelookup: %{time_namelookup}/n    time_connect: %{time_connect}/n  time_appconnect: %{time_appconnect}/n  time_pretransfer: %{time_pretransfer}/n   time_redirect: %{time_redirect}/n time_starttransfer: %{time_starttransfer}/n          ----------/n     time_total: %{time_total}/n

在同一個目錄下,執行 curl 操作:

curl -w "@curl-format.txt" -o /dev/null -s "https://api.weixin.qq.com/sns/jscode2session?xxx=xxx&xx=aa"

拿到的結果如下:

小程序,server,微信服務器,超時

在網上查閱了下,各個字段含義如下(單位都是 秒 ):

  • time_namelookup: DNS 域名解析的時候,就是把 https://zhihu.com 轉換成 ip 地址的過程
  • time_connect: TCP 連接建立的時間,就是三次握手的時間
  • time_appconnect: SSL/SSH 等上層協議建立連接的時間,比如 connect/handshake 的時間
  • time_pretransfer: 從開始到最后一個請求事務的時間
  • time_redirect: 從請求開始到響應開始傳輸的時間
  • time_starttransfer: 從請求開始到第一個字節將要傳輸的時間
  • time_total: 這次請求花費的全部時間

從上面截圖中可以看出,我們服務器上,在DNS域名解析階段,就花了 5秒 ,難怪會超時了……

找到了問題,那就先在機器上修改 /etc/hosts 文件,寫死一個微信域名的IP解析,暫時 把這個問題修復了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣威市| 高安市| 绥阳县| 安乡县| 天水市| 江孜县| 怀化市| 隆尧县| 桂东县| 凭祥市| 瓦房店市| 襄垣县| 通辽市| 射阳县| 方城县| 南澳县| 光山县| 青龙| 永州市| 峨眉山市| 乌兰县| 石河子市| 大港区| 高雄县| 区。| 泰宁县| 南开区| 安仁县| 英吉沙县| 安仁县| 灵武市| 云霄县| 达孜县| 大余县| 永登县| 普兰店市| 莆田市| 乌海市| 达拉特旗| 滦平县| 永寿县|