先附上地址:http://open.iciba.com/?c=api

小金山提供了2种获取数据的方式

1、 通过填入自己的网站名称、网址、邮箱地址 来生成一段javascript脚本,直接将生成的代码拷贝至自己的网页去就OK了(真是轻松加愉快(⊙o⊙));

比较简单,直接演示了 红框内是效果图:

  

  ps:貌似以上三项内容可以随便填写没有影响

2、 返回JSON数据的url地址: http://open.iciba.com/dsapi

文档说明:http://open.iciba.com/index.php?c=wiki

 传入参数:

  file //数据格式,默认(json),可选xml
  date //标准化日期格式 如:2013-05-06, 如:http://open.iciba.com/dsapi/?date=2013-05-03
  如果 date为空 则默认取当日的,当日为空 取前一日的
  type(可选) // last 和 next 你懂的,以date日期为准的,last返回前一天的,next返回后一天的

  • JSON 字段解释

  • {

  • 'sid':'' #每日一句ID

  • 'tts': '' #音频地址

  • 'content':'' #英文内容

  • 'note': '' #中文内容

  • 'love': '' #每日一句喜欢个数

  • 'translation':'' #词霸小编

  • 'picture': '' #图片地址

  • 'picture2': '' #大图片地址

  • 'caption':'' #标题

  • 'dateline':'' #时间

  • 's_pv':'' #浏览数

  • 'sp_pv':'' #语音评测浏览数

  • 'tags':'' #相关标签

  • 'fenxiang_img':'' #合成图片,建议分享微博用的

  • }

我采用了第二种返回Json数据的url后组织html来显示的方式;

(1)后台利用HttpWebRequest请求url 通过JavaScriptSerializer 将数据反序列化到一个属性与json数据字段相对应的类中;(据说Json.net性能更好)

         public DailyEnglish daily = null;  // 用于aspx页面
// 按钮点击事件
protected void btnFetch_Click(object sender, EventArgs e)
{
try
{
HttpWebRequest request = WebRequest.Create("http://open.iciba.com/dsapi/") as HttpWebRequest;
request.Method = "GET"; HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
//反序列化
JavaScriptSerializer js = new JavaScriptSerializer();
var sentence = js.Deserialize<DailyEnglish>(sr.ReadToEnd());
daily = sentence; }
catch(Exception ex)
{
Response.Write("Sorry, there seems to be some error \n "+ex.Message);
} } }
// 解析json用到的类,没有用到的字段我就注释掉了
public class DailyEnglish
{ public string tts; //Text to Speech 文本朗读 地址
public string content; //英文
public string note; // 中文
public string translation;
public string picture; // 小图
public string picture2; //大图
public string dateline; //时间
// public string sid;
// public string love; // 每日一句喜欢个数
// public string caption;
// public string s_pv; // 浏览数
// public string sp_pv; // 语音测评浏览数
// public string fenxiang_img; // 合成的图片 分享微博用的 }

(2)接着在aspx组织html ,页面代码就不展示了嘛,我看看如何上传再附上链接

这个步骤收获了个css知识 :

     1.  兼容ie的透明: opacity: 0.5;  filter: alpha(opacity=50);

     2.  用margin-top : 负值 来替代 position:absolute;

     3.  坑爹的IE , width居然包括padding 和border的宽度(不包括margin,这厮对盒模型的解释好奇葩): 解决方法将正常的width加上!important,再接上IE的width如:

       width: 520px!important; width:532px;padding: 10px;    ( IE_width  放在后面)

    4.  IE上 float:left的元素宽度100%了,需要加上宽度! float:left;width:200px

    下图的日期就是用以上2个css知识点来实现的(今天的图片居然是可爱的小黄人而且还这么励志!!!)

源码:IcibaApi金山词霸_每日一句

  

金山词霸每日一句开放平台 .NET demo的更多相关文章

  1. 迅雷云加速开放平台c#demo

    迅雷云加速开放平台c#demo.很多人很遇到下载文件的问题.这个例子是调用迅雷云加速开放平台的dll,进行下载,速度很快,下载过程中可以获取到很全的下载信息,比如下载速度,进度,完成状态等. 例子中带 ...

  2. Python爬取金山词霸每日一句,存储到MySQL中

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/7/3 20:25 # @Author : baoshan # @Site : ...

  3. Android 图文数据JSON解析,金山词霸每日一句API的调用

    金山词霸开发的免费API http://open.iciba.com/dsapi/ 数据格式为 {","name":"\u7535\u5f71\u7ecf\u5 ...

  4. php随机获取金山词霸每日一句

    header('Content-Type:text/html; charset=utf-8'); $nowyear=date("Y"); $nowmouth = date('m') ...

  5. 钉钉开放平台demo调试异常问题解决:hostname in certificate didn't match

    今天研究钉钉的开放平台,结果一个demo整了半天,这帮助系统写的也很难懂.遇到两个问题: 1.首先是执行demo时报unable to find valid certification path to ...

  6. 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

    原文:微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 教程导航: 微信开放平台 公众号第三方平台开发 教程一 平台介绍 微信开放平台 公众号第三方平台开发 教程二 创建 ...

  7. Python 教你自动发微博,每日一句英语

    作者:周萝卜 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材 ...

  8. 如何使用OLAMI自然语言理解开放平台API制作自己的智能对话助手小程序

    我们经常在电影中看到机器和人对答如流,随着越来越多自然语言开放平台的出现,IT爱好者制作一个自己的APP或者小玩具等逐渐可以变为现实. 自然语言对话即你的APP或者你制作的工具.机器人等能够对用户输入 ...

  9. Python实现将爱词霸每日一句定时推送至微信

    前言 前几天在网上看到一篇文章<教你用微信每天给女票说晚安>,感觉很神奇的样子,随后研究了一下,构思的确是巧妙.好,那就开始动工吧!服务器有了,Python环境有了,IDE打开了...然而 ...

随机推荐

  1. bochs安装一系列问题

    http://blog.chinaunix.net/uid-23817499-id-3418083.html http://www.mouseos.com/os/tools/bochs.html    ...

  2. Unity3D 新人学习的一点感想

    想到那里写到那里吧 1.Unity3D的优点大家都知道:组件化.c#语言.可见即所得. 当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎 ...

  3. university, school, college, department, institute的区别

    这些个词没有太大区别,有时候有些词是可以通用的,而有些用法则是随着地域时间的不同而变迁. 一般说来,college译作“学院”,它是university (综合性大学)的一个组成部分,例如,一所综合大 ...

  4. 学习总结 for循环语句的应用

    for(初始值:条件表达式:状态改变) { } \n 表示换行   \ttab键   \\写出一个斜杠 例题解释 // 输出一个数,打印一到n出来 int n = int.Parse(Console. ...

  5. 对付ring0 inline hook

    对付ring0 inline hook的基本思路是这样的,自己写一个替换的内核函数,以NtOpenProcess为例,就是MyNtOpenProcess.然后修改SSDT表,让系统服务进入自己的函数M ...

  6. 一个不简单的Procedure body例子

    create or replace package body CountBankData_20150617 is type cursorCommon is ref cursor; --游标类型 str ...

  7. android style 中一些颜色的定义

    colorControlNormal 单选多选等控件颜色 colorControlActivated 单选多选等控件激活颜色

  8. 【EF 5】结合项目实战分析EF三大工作模式之—Database First

    导读:所谓的EF的Databasefirst工作模式,是目前我们(不涉及社会领域)用的最广的一种模式,也是本次ITOO开发所采用的工作模式.本篇博客,就分析在项目中通过Database First模式 ...

  9. 手机h5 页面 iPhone 下 手机号码 蓝色字体 黑色字体

    在手机端 苹果系统下 手机号码会变成蓝色的 ,如何不让手机号变成蓝色  黑色 或者其他颜色 , 苹果真是的 原因是识别成了电话号码,然后成为了链接.解决方法: 更改链接的颜色 a{ color: re ...

  10. 2014年3月1日 Start && Unique Binary Search Trees

    早上和面试官聊天, 才发现自己的基础下降的有点厉害, 过去那个飘逸写程序的小青年, 如今有点走下坡路了. 可惜我不服,所以要开始做题,把水平恢复上来,能力是最重要的. 最近在做LeetCodeOJ的题 ...