企業微信接口下載微盤文件


在調試企業微信的下載微盤文件接口成功之后,再進一步下載文件時,發現一直返回 System.Net.WebException:“遠程服務器返回錯誤: (564)。” 這樣的錯誤。后來經過調試,發現改動兩個地方即可完成企業微盤圖片的下載。 注意代碼中的注釋部分,測試通過的完整代碼如下:

//請求企業微盤圖片
//接口地址: https://developer.work.weixin.qq.com/document/path/93657#下載文件

string url = @"xxx"; //xxx表示通過企業微信獲得的download_url
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
CookieContainer cc = new CookieContainer();
//cookie的key和cookie的value也是通過企業微信獲得的cookie_name和cookie_value
Cookie cookie = new Cookie("cookie的key", "cookie的value", "/", "sz-btfs-v2-down.wework.ftn.qq.com");
cc.Add(cookie);
request.CookieContainer = cc;
request.Method = "get";//改動1: 一定是get請求,這里post請求不行,不寫默認是get請求
request.Host = "sz-btfs-v2-down.wework.ftn.qq.com"; //改動2. 要強制指定Host,這一步必須加
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

//保存圖片
Stream stream = response.GetResponseStream();
Bitmap bitmap = new Bitmap(stream);
bitmap.Save("test.jpg");

 對帶cookie的http請求進行測試,其實可以通過專門的工具進行快速測試。比如這里我們選用Fiddler。

在Composer選項卡下可以填入url,選擇get/post請求進行http接口進行測試。

在FiddlerScript選項卡下打開系統腳本,找到OnBeforeRequest方法填入如上的腳本,指定Host和Cookie。后面Cookie部分是cookie的key=value。

點擊Execute按鈕在左側可以看到執行結果,返回Result為200表示執行成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM