iT邦幫忙

2

(IT環境 / C# WebClient) HTTP Header "User-Agent" 不見

  • 分享至 

  • xImage

各位前輩好

我正在維護一支軟體,是使用C# WPF開發的,使用.Net framework 3.5。
Server端使用Node.js Express開發,掛在AWS EC2上
在軟體內實作 WebClient.DownloadFile(URL) 時,特定環境會發生 Http status code 403 error

這個問題僅發生在客戶的環境,在我的開發環境中一切正常,但是在客戶的環境每次都是403 Error。
我到伺服器內查看Log,發現客戶的request header都沒有帶User-Agent,而我的環境都會有帶有User-Agent,我推測就是因為這樣導致403 Error,如果不是希望前輩能引導一個方向。

如果是客戶的IT環境導致User-Agent不見,我有沒有什麼方式能引導客戶解決問題?

目前嘗試在C#軟體的Code中給予User-Agent,還在等待客戶測試中

WebClient.Headers.Add("User-Agent: Other");
WebClient.DownloadFile(URL);

對於這個現象完全摸不著頭緒,有任何建議都很感謝/images/emoticon/emoticon02.gif

-- 更新 --

客戶使用瀏覽器可以下載檔案成功,但是透過軟體就會失敗/images/emoticon/emoticon20.gif

另客戶表示以下程式碼沒有解決問題

WebClient.Headers.Add("User-Agent: Other");
WebClient.DownloadFile(URL);

-- 更新 2 --

客戶不走公司內網,軟體就可以正常運作,目前應該會往客戶的網路環境去追查

昨日在自己的環境發出一個header裡面只帶有host的request,發現也是可以正常使用軟體,可能這樣就跟user-agent沒什麼關係了吧...?

感謝各位大大的協助,有任何建議也再麻煩告知/images/emoticon/emoticon02.gif

-- 更新 3 --

雖然事情過的有點久了,但還是更新一下狀況QQ
最後和客戶要求雙方錄製封包,發現客戶的網路環境中還有一台proxy server,所有封包出去/進來都會經過它,而它就是造成403的主因
Server丟200 OK的封包出去,經過proxy server之後,就被改成403 forbidden了
目前還正在跟proxy server的廠商確認原因中

看更多先前的討論...收起先前的討論...
Homura iT邦高手 1 級 ‧ 2018-07-31 09:26:11 檢舉
你在客戶那邊URL確定連的到嗎?
椅恩啾 iT邦新手 5 級 ‧ 2018-07-31 11:08:12 檢舉
Homura大大,客戶那邊可以連到Server,也可以透過瀏覽器下載檔案
403 Forbidden 像是某種授權沒過,例如未登入,無法存取資源,
不知道是我們程式造成的還是 AWS EC2 需要某些驗證。
椅恩啾 iT邦新手 5 級 ‧ 2018-08-01 08:33:33 檢舉
fysh711426大大
Server端沒有特別寫授權或驗證的程式,昨天也有發ticket詢問aws support。aws建議是錄封包看看,這個方法會再跟客戶提案QQ
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
rogeryao
iT邦超人 7 級 ‧ 2018-07-31 10:01:38

Http status code 403 error =>https://web.archive.org/web/20130820022340/http://www.getnetgoing.com/HTTP-403.html

看更多先前的回應...收起先前的回應...
椅恩啾 iT邦新手 5 級 ‧ 2018-07-31 11:11:58 檢舉

感謝rogeryao大大,我馬上研究一下

椅恩啾 iT邦新手 5 級 ‧ 2018-07-31 13:05:31 檢舉

rogeryao大大
請教一下,
如果另外一個環境可以正常運作的話,下方的1、3、4點是不是就可以排除了
至於第2點,我有在第三個網路環境下測試,也是正常運作,是不是也算是排除此項了呢
/images/emoticon/emoticon06.gif

rogeryao iT邦超人 7 級 ‧ 2018-07-31 13:50:52 檢舉

基本上,應該是"客戶的環境"的 web server 的問題 :
1.路徑有問題
2.目錄的權限有問題 , 導致連線被拒絕

椅恩啾 iT邦新手 5 級 ‧ 2018-08-01 08:31:03 檢舉

rogeryao大大
目前也是猜測客戶的環境的問題
因為客戶不走他們自己的內網時,軟體都能正常運作
但客戶希望能輔助他,讓他們公司的IT解決這個問題/images/emoticon/emoticon17.gif

rogeryao iT邦超人 7 級 ‧ 2018-08-01 09:49:18 檢舉
椅恩啾 iT邦新手 5 級 ‧ 2018-08-01 13:57:17 檢舉

rogeryao大大
感謝分享,昨天也和AWS工程師學到fiddler來debug
會再試試看/images/emoticon/emoticon41.gif

1
Homura
iT邦高手 1 級 ‧ 2018-07-31 14:59:45
椅恩啾 iT邦新手 5 級 ‧ 2018-08-01 08:28:39 檢舉

感謝Homura大大
我會做一版給客戶試試看

我要發表回答

立即登入回答