• <input id="qo08z"><menu id="qo08z"></menu></input>
    <dl id="qo08z"><ins id="qo08z"><thead id="qo08z"></thead></ins></dl>
    <dl id="qo08z"><ins id="qo08z"><small id="qo08z"></small></ins></dl>
    <div id="qo08z"><tr id="qo08z"></tr></div>
  • <li id="qo08z"></li>
    <li id="qo08z"><tr id="qo08z"></tr></li>
    <div id="qo08z"><tr id="qo08z"><object id="qo08z"></object></tr></div>
  • <div id="qo08z"><s id="qo08z"></s></div>
    <bdo id="qo08z"><small id="qo08z"></small></bdo>
  • <dl id="qo08z"></dl>
    <li id="qo08z"><s id="qo08z"></s></li>
    <dl id="qo08z"><ins id="qo08z"></ins></dl>
  • <li id="qo08z"><ins id="qo08z"></ins></li><div id="qo08z"><s id="qo08z"></s></div>
  • <li id="qo08z"></li>
    <input id="qo08z"><menu id="qo08z"><td id="qo08z"></td></menu></input>
  • <div id="qo08z"></div>
  • MARC数据调用API接口代码示例

    xiyuan29044 2017年06月24日 编目中心 7939次阅读 查看评论

    为方便图书相关软件接入我们编目中心,在Z39.50基础上,特开发数据调用的Websevice接口,相比Z39.50,简单实用,只需要少量代码即可实现。

    (该功能需要开通API帐号访问授权,一次性收费500元即可开通。)


    下载说明文档:91api.docx


    PHP代码(Json)

    <?php
     /**
     * 检索marc数据
     *
     * @param string $uid
     *            用户名
     * @param string $pwd
     *            密码
     * @param string $search_type
     *            搜索字段:isbn、title
     * @param unknown $search_val
     *            搜索内容
     * @param number $cip_type
     *            是否接收CIP库数据(新书齐全,但质量不如标准库),默认为1,0:不使用CIP,1:在没有数据的情况下才使用该库,2:只套录CIP数据。
     * @param number $data_size
     *            最大返回数据(无论命中多少条),默认为1
     * @param string $is_json
     *            是否采用json输出方式,默认为true,true为json格式,false为xml格式。
     * @param string $is_parsing
     *            是否需要解析ISO2709格式位条目式文本式,false不解析,反之为true。
     * @return array marc数据
     */
        function getMarc($uid, $pwd, $search_type, $search_val, $cip_type = 1, $data_size = 1, $is_json = "true", $is_parsing = "true")
        {
            $url = "http://z39.91marc.cn/app/f/?"; // Api地址
            $param = array( // 参数组合
                "uid" => $uid,
                "pwd" => $pwd,
                "key" => $search_type,
                "value" => $search_val,
                "caifang" => $cip_type,
                "parsing" => $is_parsing,
                "json" => $is_json,
                "size" => $data_size
            );
            
            $url .= http_build_query($param);
            $marc_data = json_decode(file_get_contents($url), true);
            return $marc_data;
        }
    ?>


    C#代码(XML)

    string searchurl = "http://z39.91marc.cn/app/f/?";
    string uid = System.Web.HttpUtility.UrlEncode("demo", Encoding.UTF8);    //用户名。
    string pwd = System.Web.HttpUtility.UrlEncode("demo899", Encoding.UTF8);  //密码。
    string caifang = "1";   //是否接收CIP库数据(新书齐全,但质量不如标准库),0:不使用CIP,1:在没有数据的情况下才使用该库,2:只套录CIP数据。
    string key = "title";    //检索项,isbn :书号,title:书名,seriesname:丛书名。
    string value = System.Web.HttpUtility.UrlEncode("Flex 4", Encoding.UTF8);  //检索词、关键字转码。
    string size = "100";    //最大返回数据。
    string parsing = "false";   //是否需要解析ISO2709格式位条目式文本式,false不解析,反之为true。
    string json = "false";       //是否采用json输出方式,true为json格式,false为xml格式。
    searchurl = searchurl + "uid=" + uid + "&pwd=" + pwd + "&caifang=" + caifang + "&key=" + key + "&value=" + value + "&parsing=" + parsing + "&json=" + json + "&size=" + size; //组合查询URL。
    
    DataSet ds = new DataSet();
    ds.ReadXml(searchurl);
    string allmarc = "";
    string marc = "";
    
    int i;
    for (i = 0; i <= ds.Tables[0].Rows.Count - 1; ++i)
    {
    	marc = ds.Tables[0].Rows[i][0].ToString();
    	allmarc = allmarc + marc + "\r\n";
    }
    
    textBox1.Text = allmarc;


    VB.NET代码(json)

    '利用json.net开源免费控件实现
    Imports Newtonsoft.Json
    Imports Newtonsoft.Json.Linq
    '记得引用System.Web噢
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim searchurl As String = "http://z39.91marc.cn/app/f/?"
            Dim uid As String = System.Web.HttpUtility.UrlEncode("demo", Encoding.UTF8) '用户名。
            Dim pwd As String = System.Web.HttpUtility.UrlEncode("demo899", Encoding.UTF8) '密码。
            Dim caifang As String = "1" '是否接收CIP库数据(新书齐全,但质量不如标准库),0:不使用CIP,1:在没有数据的情况下才使用该库,2:只套录CIP数据。
            Dim key As String = "isbn" '检索项,isbn :书号,title:书名,seriesname:丛书名。
            Dim value As String = System.Web.HttpUtility.UrlEncode("9787805952109", Encoding.UTF8) '检索词、关键字转码。
            Dim size As String = "100" '最大返回数据。
            Dim parsing As String = "true" '是否需要解析ISO2709格式位条目式文本式,false不解析,反之为true。
            Dim json As String = "true" '是否采用json输出方式,true为json格式,false为xml格式。
            searchurl = searchurl & "uid=" & uid & "&pwd=" & pwd & "&caifang=" & caifang & "&key=" & key & "&value=" & value & "&parsing=" & parsing & "&json=" & json & "&size=" & size '组合查询URL。
            Dim josn As String = GetHtmCode(searchurl, "utf-8")   '获取网页数据
            
            Dim dt As DataTable
            dt = Json2Dtb(josn)
            DataGridView1.DataSource = dt   '数据加载到DataGridView1
    End Sub  
    ' 利用json转换为datatable数据表
    Public Function Json2Dtb(ByVal json As String) As DataTable 
        Dim obj As New JObject
        Dim data As String
        obj = JObject.Parse(json)
        Dim objdata As New JObject  '数据的json
        If obj("records") <> "0" Then   '0为没返回数据,失败,反之>=1
            data = obj("data").ToString
            Json2Dtb = JsonConvert.DeserializeObject(Of DataTable)(data)
        Else
            Json2Dtb = Nothing
        End If
    End Function
    '获取网页的HTML源码
    Public Function GetHtmCode(ByVal httpURL As String, ByVal CodeFormat As String) As String
            Dim httpReq As System.Net.HttpWebRequest
            Dim objResponse As System.Net.HttpWebResponse
            Try
                httpReq = CType(System.Net.HttpWebRequest.Create(httpURL), System.Net.HttpWebRequest)
                httpReq.Method = "GET"
                httpReq.Timeout = 10 * 1000   '十秒超时
                objResponse = CType(httpReq.GetResponse, System.Net.HttpWebResponse)
                Dim MySR As New System.IO.StreamReader(objResponse.GetResponseStream, System.Text.Encoding.GetEncoding(CodeFormat))
                GetHtmCode = MySR.ReadToEnd
                MySR.Close()
            Catch ex As System.Net.WebException
                GetHtmCode = Err.Description
            End Try
    End Function


    ? 上一篇 下一篇 ? xiyuan29044原?#27425;?#31456;,转载请注明出处! 标签: API接口 获取数据

    相关日志:

    说两句吧:

    必填

    选填

    选填

    登录编目中心
    用户名:
    密 码:
    书目检索
  • 数据库:
  • 检索项:
  • 检索词:
  • 网站分类
    标签列表
    最新留言
    控制面板
    您好,欢迎到访网站!
      [查看权限]
    搜索
    文章归档
    网站收藏
    友情链接
    • 订阅本站的 RSS 2.0 信息聚合
    福建快3有多个号
  • <input id="qo08z"><menu id="qo08z"></menu></input>
    <dl id="qo08z"><ins id="qo08z"><thead id="qo08z"></thead></ins></dl>
    <dl id="qo08z"><ins id="qo08z"><small id="qo08z"></small></ins></dl>
    <div id="qo08z"><tr id="qo08z"></tr></div>
  • <li id="qo08z"></li>
    <li id="qo08z"><tr id="qo08z"></tr></li>
    <div id="qo08z"><tr id="qo08z"><object id="qo08z"></object></tr></div>
  • <div id="qo08z"><s id="qo08z"></s></div>
    <bdo id="qo08z"><small id="qo08z"></small></bdo>
  • <dl id="qo08z"></dl>
    <li id="qo08z"><s id="qo08z"></s></li>
    <dl id="qo08z"><ins id="qo08z"></ins></dl>
  • <li id="qo08z"><ins id="qo08z"></ins></li><div id="qo08z"><s id="qo08z"></s></div>
  • <li id="qo08z"></li>
    <input id="qo08z"><menu id="qo08z"><td id="qo08z"></td></menu></input>
  • <div id="qo08z"></div>
  • <input id="qo08z"><menu id="qo08z"></menu></input>
    <dl id="qo08z"><ins id="qo08z"><thead id="qo08z"></thead></ins></dl>
    <dl id="qo08z"><ins id="qo08z"><small id="qo08z"></small></ins></dl>
    <div id="qo08z"><tr id="qo08z"></tr></div>
  • <li id="qo08z"></li>
    <li id="qo08z"><tr id="qo08z"></tr></li>
    <div id="qo08z"><tr id="qo08z"><object id="qo08z"></object></tr></div>
  • <div id="qo08z"><s id="qo08z"></s></div>
    <bdo id="qo08z"><small id="qo08z"></small></bdo>
  • <dl id="qo08z"></dl>
    <li id="qo08z"><s id="qo08z"></s></li>
    <dl id="qo08z"><ins id="qo08z"></ins></dl>
  • <li id="qo08z"><ins id="qo08z"></ins></li><div id="qo08z"><s id="qo08z"></s></div>
  • <li id="qo08z"></li>
    <input id="qo08z"><menu id="qo08z"><td id="qo08z"></td></menu></input>
  • <div id="qo08z"></div>