URLConnection empty stream

本文关键字:stream empty URLConnection | 更新日期: 2023-09-27 18:20:52

URLConnection Stream为空

我正在使用Xamarin Studio 4.0.9并使用以下代码:

Stream lResult = null;
URLConnection lConn = new URL(url).OpenConnection();
lResult = lConn.InputStream;
return lResult;

要从此url获取流:http://maps.google.com/maps?f=d&hl=en&saddr=52.37,9.74&daddr=52.370100224,9.739360256&ie=UTF8&0&om=0&输出=dragdir由于有几个弱点,当我读到它的时候,它就不起作用了,流也是空的。有人知道为什么吗?

更新

我也试过这个:

Uri lUri=new Uri(url);
WebRequest request=(WebRequest) WebRequest.Create(lUri); 
request.Method="GET";
WebResponse response = (WebResponse)request.GetResponse();
lResult=response.GetResponseStream();

但我得到了一个例外:System.Net.WebException获取响应流时出错(写入:EndWrite失败):SendFailure

注意

该应用程序是在Xamarin Studio 4.0.9 中使用c#制作的

URLConnection empty stream

让我们参考这个例子

URL url = new URL("http://maps.google.com/maps?f=d&hl=en&saddr=52.37,9.74&daddr=52.370100224,9.739360256&ie=UTF8&0&om=0&output=dragdir");
   HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
   try {
     InputStream in = new BufferedInputStream(urlConnection.getInputStream());
     readStream(in);//call function to read a stream
    finally {
     urlConnection.disconnect();
   }

这是我的util类

 public class HttpConnection
    {
        public static string GetString(string url)
        {
            return GetString(url, Encoding.UTF8);
        }
        public static string GetString(string url, Encoding encode)
        {
            HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create(url);
            oReq.UserAgent = @"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5";
            oReq.Method = "GET";
            ASCIIEncoding encoding = new ASCIIEncoding();
            HttpWebResponse resp = (HttpWebResponse)oReq.GetResponse();
            StreamReader loResponseStream = new StreamReader(resp.GetResponseStream(), encode);
            String s = loResponseStream.ReadToEnd();
            loResponseStream.Close();
            return s.Replace(" ", " ");
        }
}

让我们像这样调用函数HttpConnection.GetString(字符串url)

HttpConnection.GetString("http://maps.google.com/maps?f=d&hl=en&saddr=52.37,9.74&daddr=52.370100224,9.739360256&ie=UTF8&0&om=0&output=dragdir")