使用WebRequest对象调用新浪天气预报<转>

// 待请求的地址
string url = "http://www.cnblogs.com";

// 创建 WebRequest 对象,WebRequest 是抽象类,定义了请求的规定,
// 可以用于各种请求,例如:Http, Ftp 等等。
// HttpWebRequest 是 WebRequest 的派生类,专门用于 Http
System.Net.HttpWebRequest request
    = System.Net.HttpWebRequest.Create(url) as System.Net.HttpWebRequest;

// 请求的方式通过 Method 属性设置 ,默认为 GET
// 可以将 Method 属性设置为任何 HTTP 1.1 协议谓词:GET、HEAD、POST、PUT、DELETE、TRACE 或 OPTIONS。
request.Method = "POST";

// 还可以在请求中附带 Cookie
// 但是,必须首先创建 Cookie 容器
request.CookieContainer = new System.Net.CookieContainer();

System.Net.Cookie requestCookie
    = new System.Net.Cookie("Request", "RequestValue","/", "localhost");
request.CookieContainer.Add(requestCookie);

Console.WriteLine("请输入请求参数:");

// 输入 POST 的数据.
string inputData = Console.ReadLine();

// 拼接成请求参数串,并进行编码,成为字节
string postData = "firstone=" + inputData;
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(postData);

// 设置请求的参数形式
request.ContentType = "application/x-www-form-urlencoded";

// 设置请求参数的长度.
request.ContentLength = byte1.Length;

// 取得发向服务器的流
System.IO.Stream newStream = request.GetRequestStream();

// 使用 POST 方法请求的时候,实际的参数通过请求的 Body 部分以流的形式传送
newStream.Write(byte1, 0, byte1.Length);

// 完成后,关闭请求流.
newStream.Close();

// GetResponse 方法才真的发送请求,等待服务器返回
System.Net.HttpWebResponse response
    = (System.Net.HttpWebResponse)request.GetResponse();

// 首先得到回应的头部,可以知道返回内容的长度或者类型
Console.WriteLine("Content length is {0}", response.ContentLength);
Console.WriteLine("Content type is {0}", response.ContentType);

// 回应的 Cookie 在 Cookie 容器中
foreach (System.Net.Cookie cookie in response.Cookies)
{
    Console.WriteLine("Name: {0}, Value: {1}", cookie.Name, cookie.Value);
}
Console.WriteLine();

// 然后可以得到以流的形式表示的回应内容
System.IO.Stream receiveStream
    = response.GetResponseStream();    

// 还可以将字节流包装为高级的字符流,以便于读取文本内容
// 需要注意编码
System.IO.StreamReader readStream
    = new System.IO.StreamReader(receiveStream, Encoding.UTF8);

Console.WriteLine("Response stream received.");
Console.WriteLine(readStream.ReadToEnd());

// 完成后要关闭字符流,字符流底层的字节流将会自动关闭
response.Close();
readStream.Close();

使用WebRequest对象调用新浪天气预报

public string GetWeather(string city)
    {
        string weatherHtml = string.Empty;
        //转换输入参数的编码类型
        string cityInfo = HttpUtility.UrlEncode(city,System.Text.UnicodeEncoding.GetEncoding("GB2312"));
        //初始化新的webRequst
        HttpWebRequest weatherRequest = (HttpWebRequest)WebRequest.Create("http://php.weather.sina.com.cn/search.php?city="+cityInfo);

        HttpWebResponse weatherResponse = (HttpWebResponse)weatherRequest.GetResponse();
        //从Internet资源返回数据流
        Stream weatherStream = weatherResponse.GetResponseStream();
        //读取数据流
        StreamReader weatherStreamReader = new StreamReader(weatherStream,System.Text.Encoding.Default);
        //读取数据
        weatherHtml = weatherStreamReader.ReadToEnd();
        weatherStreamReader.Close();
        weatherStream.Close();
        weatherResponse.Close();
        //针对不同的网站查看html源文件
        return weatherHtml;
    }
时间: 2024-10-24 13:55:51

使用WebRequest对象调用新浪天气预报<转>的相关文章

获取IP,调用新浪接口获取所在地点的辅助类

1 using System; 2 using System.IO; 3 using System.Net; 4 using System.Text; 5 using System.Web.Script.Serialization; 6 7 namespace IpUtils 8 { 9 public class IpDetail 10 { 11 public String Ret { get; set; } 12 13 public String Start { get; set; } 14

Python如何调用新浪api接口的问题

前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问题,真的要分析问题还是得个人写爬虫 下面是调用新浪开放api的过程: 第一步:按这个做就行 http://www.cnblogs.com/dhsunny/p/3578399.html?utm_source=tuicool&utm_medium=referral 其中有一不那个新浪api测试工具是打不

【Servlet】Javaweb中,利用新浪api接口,获取IP地址,并获取相应的IP归属地

这里之所以调用新浪api接口,主要是可以避免我们在本地存放一个ip归属地库, 同时,我们在本地要存放用户的ip,仅仅存放其ip就可以了,无须存放其归属地,节省一个字段. 如下图,写一个带有获取客户端IP地址的网页: 首先,在Eclipse的目录结构如下: 里面除了servlet的支持包之外,就一个.jsp与一个.java. 其中这里用到Servlet3.0,因此web.xml没有任何东西: <?xml version="1.0" encoding="UTF-8"

15款最好用的新浪短链接(t.cn接口)在线生成工具

短链接已经广泛应用于各种场景,电商,微信,短信等等.那么今天给大家推荐15款t.cn.url.cn的短链接短网址 在线生成工具,都是我从市面数十款短链接短网址生成工具里面挑选的最为简便,最为稳定的短链接短网址生成 工具.废话不多! 1,青梅短网址 网站链接:http://qingmeidwz.cn 青梅短网址是发展的比较成熟的一款在线短网址短链接生成工具,一直是本着“简单,高效,自由,稳定”的理 念.不管是同行业还是用户的口中都有着非常好的口碑. 青梅短网址最大的优点就和他们所倡导的理念一样:“

怎样使用新浪短网址进行网址缩短-推荐15个在线生成工具

新浪短网址服务是目前互联网上最稳定.最安全.最快速的短网址服务,帮您把冗长的URL地址缩短成8个字符以内的短网址. 1.冷狗短链接 平台官网:http://dogdwz.cn/ 冷狗短链接那边提供最新的新浪T.CN短链接在线生成服务,每天都可以去免费生成新的微博T.CN短网址,他们采用的是新浪微博的官方的原生态生成接口,安全.稳定.一次生成永久使用.. 2.麦云短链接 平台官网:http://maiyurl.cn/ 麦云短链接的官网也是可以免费生成短链接的,但是他们的专长是帮助其他平台对接新浪t

http://t.cn/xxx的短链接如何生成?(附15款新浪短链接生成器)

短链接已经广泛应用于各种场景,电商,微信,短信等等.那么今天给大家推荐15款t.cn.url.cn的短链接短网址在线生成工具,都是我从市面数十款短链接短网址生成工具里面挑选的最为简便,最为稳定的短链接短网址生成工具.废话不多! 1,青梅短网址 网站链接:http://qingmeidwz.cn 青梅短网址是发展的比较成熟的一款在线短网址短链接生成工具,一直是本着“简 单,高效,自由,稳定”的理念.不管是同行业还是用户的口中都有着非常好的口碑. 青梅短网址最大的优点就和他们所倡导的理念一样:“简单

2020最新的新浪短网址(T.CN短链接)API接口分享

还记得一年前,因为一个客户委托我们开发了一个新浪短网址API接口!原本这个T.cn的短链接接口一直是我们自己和委托开发的客户在使用! 但是由于前段时间,新浪关闭了之前开放的T.CN短链接接口!有好多客户朋友找到我说需要这个功能,然后我便答应我这边把这个API接口的细节完善下.在给他们使用!其实框架很早之前也是开发好了,接口其实去年12月就已经做好了.但是因为我自己的原因,确实没有时间去管这个,于是就放下了.直到最近有些空闲的时候,便有抽空完善一下.现在我就把这个接口放出来.正常来说一般的朋友这个

微信公众号+python+新浪SAE实现实时天气预报功能

本文主要谈谈如何做一个具有天气预报功能的公众号. 话不多说先上图,实现的功能如下图所示: 点击微信右下角的"+"号,分享任意一个位置信息,公众号后台自动回复当地的天气情况.这里的天气预报是用python从中国天气网抓取的雷达数据.有没有更精准的数据源呢,当然有啦,但这不是本文的重点,这里我就不详说了. 用到的工具:新浪SAE + 微信公众平台 + python2.7(新浪SAE目前仅支持2.7版本) 由于本文的重点不是使用python搭建微信公众平台,网上已经有很多不错的教程,为了避免

新浪短链接/腾讯短链接的API接口分享(含调用代码)

最新好多朋友需要使用腾讯/新浪的官方短连接api接口,但是自己无法获取,或者说现有的API接口不支持现在的高频率调用,今天我就分享几个新浪/腾讯短域名的API接口给大家使用! 短链接他的目的就是将冗长的链接,缩短为一个简短的链接. 废话不多说现在就把我这边整理的今一些常用的短链接api接口供大家使用. 腾讯短网址API接口(Url.cn): http://www.sinadwz.cn/url/dwz.php?url_long=http://www.sinadwz.cn 新浪短网址API接口(T.