[WP8 ] POST 訊息到網頁

看板WindowsPhone作者 (寒江雪)時間12年前 (2014/03/05 19:44), 編輯推噓3(3015)
留言18則, 5人參與, 最新討論串1/3 (看更多)
最近碰到一個問題,我需要使用POST的方式傳送資料某個網頁, 並且取得回應。 我是使用httpclient.PostAsync(String, HttpContent) 這個方式作的。 一開始我的HttpContent建置方式是使用 var param = new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("Key1", "Value1"), new KeyValuePair<string, string>("Key2", "Value2"), } 這種方式,然後使用 httpclient.PostAsync(URL ,new FormUrlEncodedContent(param)) 這種形式傳送,也成功得到回應。後來因為需要加上上傳圖檔的功能。 所以改用MultipartFormDataContent這個類別 使用 MultipartFormDataContent.add(new stringstream(Value1),Key1); MultipartFormDataContent.add(new stringstream(Value2),Key2); 這種方式來建置變數。 測試時也可以正常運作,等到要連結正是網站時發現一個問題 使用第二種方式,只能連接到我本機的網站(我用模擬器測試) 連結到正式的對外網站,就會發生 response status code does not indicate success:500 (internal Server Error) 這個錯誤。 請問是使用MultipartFormDataContent這個類別時,需要注意什麼嗎? 才會導致無法連到外面的網站,網路上找到的範例都找不到有特別設定的。 都是直接把參數傳進去。 請問有人知道怎麼解決嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.67.131

03/05 19:47, , 1F
模擬器的ie可以連的到外面網站嗎?
03/05 19:47, 1F

03/05 20:11, , 2F
500是伺服器端的錯誤
03/05 20:11, 2F

03/05 20:50, , 3F
方便貼上把圖檔加至MultipartFormDataContent的部分嗎
03/05 20:50, 3F

03/05 20:54, , 4F
模擬器IE可以連到外面網站~使用第一種方法也可以成功
03/05 20:54, 4F

03/05 20:54, , 5F
但因為我要上傳圖檔所以改用第二種方式
03/05 20:54, 5F

03/05 20:55, , 6F
使用第二種方式時,如果是連本機的IIS架的站也可以正常上
03/05 20:55, 6F

03/05 20:55, , 7F
傳圖檔..
03/05 20:55, 7F

03/05 20:57, , 8F
程式在公司...這片上傳是用photochoosertask取得
03/05 20:57, 8F

03/05 20:58, , 9F
PhotoResult後把PhotoResult.ChosenPhoto傳出去
03/05 20:58, 9F

03/05 20:59, , 10F
然後我有同一隻網站程式..發部在本機IIS就可以取得回應
03/05 20:59, 10F

03/05 21:00, , 11F
但是發布到線上的網站就回傳500(那隻程式原本也有給其他
03/05 21:00, 11F

03/05 21:00, , 12F
網站呼叫...我用第一種方式也可以成功取得回應
03/05 21:00, 12F

03/05 21:00, , 13F
但就是用第二種方是沒辦法取得回應
03/05 21:00, 13F

03/05 21:25, , 14F
你在本機做時,伺服器端有確實回應已收到嗎
03/05 21:25, 14F

03/05 21:26, , 15F
或許伺服器端只是因為你從本機存取時發生錯誤,回傳錯
03/05 21:26, 15F

03/05 21:26, , 16F
誤訊息給你而已
03/05 21:26, 16F

03/05 22:22, , 17F
本機回傳訊息是正確的...我有把接收到的訊息顯示出來
03/05 22:22, 17F

03/06 11:49, , 18F
http://ppt.cc/byVN 裡面有提到兩種解答
03/06 11:49, 18F
文章代碼(AID): #1J5muD_N (WindowsPhone)
文章代碼(AID): #1J5muD_N (WindowsPhone)