bool ConnectionOK = false;
while (!ConnectionOK) {
    try {
        string url1 = "http://10.53.17.20:2470/api/data/query?access_token=*****&limit=10";
        HttpWebRequest request1 = (HttpWebRequest) WebRequest.Create(url1);
        WebResponse response1;
        string responseJson = "";

        WebResponse wr = request1.GetResponse();
        Stream respStream = wr.GetResponseStream();
        StreamReader reader = new StreamReader(respStream, Encoding.UTF8);
        responseJson = reader.ReadToEnd();
        respStream.Close();

        ConnectionOK = true;

        //序列化 
        JObject result1 = JObject.Parse(responseJson);
        request1.Abort(); //本次请求完一定要释放,否则连续调用会报错
        if (result1["result"].Count() > 0 && result1["result"]["data"].Count() > 0) {
            //因为原照片数据保存的16进制字符串,l6进制字符串都是两个一组,所以需要两个字符一起转换为字节,如下所示:*******************************************
            string str_zp = result1["result"]["data"][0][50].ToString().Replace("\\x", "");
            Byte[] XP = new byte[str_zp.Length / 2];
            for (int k = 0; k < XP.Length; k++) {
                XP[k] = Convert.ToByte(str_zp.Substring(k * 2, 2), 16);
            }
            //Byte[] XP2 = Encoding.ASCII.GetBytes(str_zp);
            //因为原照片数据保存的16进制文本,需要两位合一位,如上所示:*******************************************
            string sql_insert = @"update ZP set XP=:XP WHERE GMSFHM='" + GMSFHM + "' ";

            OracleParameter[] parameters = {
                new OracleParameter(":XP", OracleDbType.Blob)
            };
            parameters[0].Value = XP;

            try {
                OracleHelper.ExecuteNonQuery(OracleHelper.CZRK_stxx, sql_insert, parameters);
            } catch(Exception e1) {

}
        }
    } catch(Exception) {
        ConnectionOK = false;
    }
}

 

posted on 2020-01-03 17:16  十行道人  阅读(611)  评论(0编辑  收藏  举报