Im新的WebRequest調用在asp.net中。我正嘗試使用WebRequest和Expedia(EAN)API(https://developer.ean.com/code-library/)。他們有一個不起作用的例子(據我所知),即使使用自己的API,也不能幫助編碼人員。asp.net WebRequest流拋出'這個流不支持查找操作'在調試器中的錯誤
這裏是我的問題:
當我做在調試器中request.GetRequestStream()調用我拿回 「‘((System.Net.ConnectStream)數據流)。長度’拋出的異常鍵入'System.NotSupportedException',並且值「此流不支持查找操作」。
當然,GetResponse()調用超時。
我也不清楚Web字符串的哪一部分被髮送到.Create方法(下面的xmlpath)以及哪部分被髮送到請求(postData下面)?
下面是代碼:
string xmlpath = "http://api.ean.com/ean-services/rs/hotel/v3/avail?";
string postData = "minorRev=99&cid=55505&apiKey=cbrzfta369qwyrm9t5b8y8kf&locale=en_US¤cyCode=USD&_type=json&hotelId=125719&arrivalDate=11/11/2015&departureDate=11/13/2015&includeDetails=true&includeRoomImages=true&room1=2,5,7";
WebRequest request = WebRequest.Create(xmlpath);
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = byteArray.Length;
request.Timeout = 10000;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse myResponse = request.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream());
string responseFromServer = reader.ReadToEnd();
我知道這可能是很多考慮它的第三方API,但沒有人看到我可能是做錯了???
感謝, -Dave
謝謝你Aleksandr ...欣賞答案,因爲他們都爲我完美工作。特別欣賞4.5中的多麼容易。 再次感謝! –