有时候,我们需要在我们的项目中对某些地址发送一个请求,并且要接受返回的结果来做逻辑处理,本文以我在做一个物流功能使用快递100提供的API接口来说说是如何实现的。
在做物流查询的时候,快递100官方有提供这样的一个请求地址并且说明参数。(详情请参考快递100官方网站)
如:http://api.kuaidi100.com/api?id=【apiKey】&com=【快递公司代号】&nu=【运单编号】&show=2&muti=1&order=asc
快递100有几种形式,我在项目中使用的是返回所有快递记录,但这需要申请APIKey,如果你只需要返回最新的快递记录的话,则不需要ApIKey
使用下面的代码需要引入
using System.Net;
using System.IO;
using System.Text;
这三个命名空间:
private void GetLogister()
{
string apiurl = "http://api.kuaidi100.com/api?id=" + ApiKey + "&com=" + typeCom + "&nu=" + nu + "&show=2&muti=1&order=asc";
WebRequest request = WebRequest.Create(@apiurl); //@防止转义字符
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
Encoding encode = Encoding.UTF8;
StreamReader reader = new StreamReader(stream, encode);
string detail = reader.ReadToEnd();
lieMes.Text = detail;
}
【有图有真相】:
扩展:你还可以使用这个方法去做采集站,获取采集对象页面的源码后,只需对HTML代码获取想要的内容即可,你可以使用正则或者是DOM的操作。