0
我有上傳文件(即一直與我以前的代碼生成的XML)來給了我以下信息的Web服務:上傳文件
URL(http://www.example.com/upload
)
端口(1234)
方法(POST或PUT)
所以我在這裏搜索了很多,並發現了一些使用WebClient的代碼,它似乎只是我所需要的。
try
{
using (WebClient webclient = new WebClient())
{
byte[] rawResponse = webclient.UploadFile(httpUrl, xmlNewFile);
Console.WriteLine("Remote Response: {0}", System.Text.Encoding.ASCII.GetString(rawResponse));
Console.ReadLine();
}
}
catch (Exception ex)
{
uploadError = true;
}
我的httpUrl看起來像http://www.example.com:1234/upload
。
問題是我在用UploadFile命令運行該行後立即得到第一個機會異常(「System.Net.WebException」在System.dll中發生的第一個機會異常)。 我可以使用瀏覽器打開給定端口上的給定URL,因此連接本身不應該是問題。
任何想法從哪裏開始我尋找造成的錯誤? 謝謝!
編輯:好吧,多虧了你們現在我知道我從服務器得到一個錯誤。
System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.WebClient.UploadFile(Uri address, String method, String fileName)
at System.Net.WebClient.UploadFile(String address, String fileName)
at XML_Export.Program.Main(String[] args) in Program.cs:line 177
有趣的是,我用我的瀏覽器得到了「200 OK」......嗯。
什麼是來自'WebException'的消息?如果你看看'http:// www.example.com/upload',表單是否發佈到另一個位置? – mason 2014-09-19 14:31:04
提示:捕捉一個異常並且不做任何事情,甚至不記錄它,但很少是一個好主意。 – 2014-09-19 14:33:54
在我的瀏覽器中的httpUrl給了我一個白頁「HTTP/1.1 200 OK日期:19.09.2014 TIME:16:32:58 CET」。 好吧,我將不得不嘗試如何記錄異常 - 給我幾分鐘。 – 2014-09-19 14:35:53