国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#從http上返回JSON數(shù)據(jù)

這篇具有很好參考價值的文章主要介紹了C#從http上返回JSON數(shù)據(jù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一:C#從http上取JSON數(shù)據(jù)
向服務(wù)器請求數(shù)據(jù)后,一般時XML或JSON:(以JSON為例)
在C#中WinForm為例操作:
Util工具類:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;

namespace WindowsUtil
{
    public class HttpUitls
    {
         public static string GetHtml(string Url)
        {
        	//可以看看request屬性,取所需要的內(nèi)容,這里參數(shù)可以改為實體類,向方法傳參
        	//還額外有個cookie字段很重要!??!
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);//請求地址
            request.Method = "GET";//請求方法
            request.AllowAutoRedirect = true;//重定向
            request.Proxy = null;//代理信息
            request.KeepAlive = false;
            request.ContentType = "application/json; charset=UTF-8";
            request.AutomaticDecompression = DecompressionMethods.GZip;

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
            string retString = myStreamReader.ReadToEnd();

            myStreamReader.Close();
            myResponseStream.Close();

            if (response != null)
            {
                response.Close();
            }
            if (request != null)
            {
                request.Abort();
            }
            return retString;
        }

        public static string Post(string Url, string Data, string Referer)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
            request.Method = "POST";
            request.Referer = Referer;
            byte[] bytes = Encoding.UTF8.GetBytes(Data);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = bytes.Length;
            Stream myResponseStream = request.GetRequestStream();
            myResponseStream.Write(bytes, 0, bytes.Length);

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string retString = myStreamReader.ReadToEnd();

            myStreamReader.Close();
            myResponseStream.Close();

            if (response != null)
            {
                response.Close();
            }
            if (request != null)
            {
                request.Abort();
            }
            return retString;
        }  
    }
}

窗體中點(diǎn)擊發(fā)生事件:

private string searchUrl = $"http://www.chinamoney.com.cn/ags/ms/cm-u-bk-fx/RefRateHis?lang=cn&";

private void Btnsearch_Click(object sender, EventArgs e)
{
	try
	{
		DateTime dateTime = Convert.ToDateTime(this.Datepick.Month);
		string hbxz = "ALL";
		if (!string.IsNullOrEmpty(this.Ddlhbxz.SelectedValue))
		{
		    hbxz = this.Ddlhbxz.SelectedValue;
		}
		string Url = searchUrl + "startDateTool=" + DateHelper.GetCurMonthFirstDay(dateTime) + "&" + "endDateTool=" + DateHelper.GetCurMonthLastDay(dateTime) + "&currencyCode=" + hbxz;
		var result = PostHelper.Get(Url);
		var rootobject= JsonConvert.DeserializeObject<Rootobject> (result);
		///
		//處理獲取到的信息源
		///
	}
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }   
}              

二:公司中已經(jīng)封好的方法使用:
第一步:先添加引用;
Universal.Kits
第二步:書寫方法;

private string get(string url)
{
    var result = new HttpHelper().GetHtml(new HttpItem
    {
        URL = url,//請求地址
        Method="get",//方法
        Allowautoredirect=true//重定向
    }) ;
    if (result.StatusCode == System.Net.HttpStatusCode.OK)
    {
        return result.Html;
    }
    return null;       
}

第三步:調(diào)用方法獲取數(shù)據(jù);
第四步:轉(zhuǎn)為獲取到的數(shù)據(jù)源實體類;
注:Rootobject是封好的實體類。
result是上述方法的返回字符串。

var rootobject= JsonConvert.DeserializeObject<Rootobject> (result);

三:http獲取網(wǎng)頁界面所顯示數(shù)據(jù)
第一步:封好的方法:

public static string HttpGet(string url)
{
    //cookie是要在網(wǎng)頁F12看到的cookie “復(fù)制過來”
    string cookiestr = "cookies";
    //創(chuàng)建請求
    HttpWebRequest httpWebRequest=(HttpWebRequest)WebRequest.Create(url);
    //請求方式
    httpWebRequest.Method = "GET";
    //設(shè)置請求超時時間
    httpWebRequest.Timeout = 10000;
    //設(shè)置cookie
    httpWebRequest.Headers.Add("Cookie", cookiestr);
    //發(fā)送請求
    HttpWebResponse httpWebResponse=(HttpWebResponse)httpWebRequest.GetResponse();
    //利用Stream流讀取返回數(shù)據(jù)
    StreamReader streamReader=new StreamReader(httpWebResponse.GetResponseStream());
    //獲得最終數(shù)據(jù),一般是JSON
    string responseContent=streamReader.ReadToEnd();
    streamReader.Close();
    httpWebResponse.Close();

    //返回到的一般是JSON格式的字符串
    return responseContent;
}

第二步:調(diào)用方法

 string txt = HttpGet(@"url");
 HtmlDocument doc = new HtmlDocument();
 doc.LoadHtml(txt);
 var div = doc.DocumentNode.SelectNodes("http://div[@id='all-list']//ul//li//a[@class='title']");//div的ID class找到具體位置
 foreach (HtmlNode node in div)
 {
     string href = node.GetAttributeValue("href", "");
     Console.WriteLine(string.Format("{0}-----------{1}",
     node.InnerText,
     node.GetAttributeValue("href", "")+"\r\n"));
 }
 Console.ReadKey();

關(guān)于網(wǎng)頁信息內(nèi)容學(xué)習(xí)總結(jié)和心得…文章來源地址http://www.zghlxwxcb.cn/news/detail-770636.html

到了這里,關(guān)于C#從http上返回JSON數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C#從網(wǎng)址上讀取json數(shù)據(jù)

    C#從網(wǎng)址上讀取json數(shù)據(jù)

    需求:從客戶給的網(wǎng)址中讀取json格式的數(shù)據(jù)。 找了好多資料,都不太好使,看到了一篇很有幫助的文章。以下大部分內(nèi)容和這篇找到的文章近似。太不容易了,同時也感謝這篇文章的作者心所欲。 https://www.cnblogs.com/zoujinhua/p/10330066.html 下面總結(jié)一下。 在實際開發(fā)中,我們經(jīng)

    2024年01月25日
    瀏覽(13)
  • 【Unity】C# 創(chuàng)建/讀取/解析JSON數(shù)據(jù)

    判斷是否存在JSON數(shù)據(jù)文件沒有則創(chuàng)建并保存

    2024年02月16日
    瀏覽(18)
  • c#處理3種json數(shù)據(jù)的實例介紹

    c#處理3種json數(shù)據(jù)的實例介紹

    這篇文章主要介紹了c#處理包含數(shù)組、對象的復(fù)雜json數(shù)據(jù)的方法,,需要的朋友可以參考下 網(wǎng)絡(luò)中數(shù)據(jù)傳輸經(jīng)常是xml或者json,現(xiàn)在做的一個項目之前調(diào)其他系統(tǒng)接口都是返回的xml格式,剛剛遇到一個返回json格式數(shù)據(jù)的接口,通過例子由易到難總結(jié)一下處理過程,希望能幫到和

    2024年02月14日
    瀏覽(26)
  • Qt 使用HTTP請求網(wǎng)絡(luò)API并接收返回的JSON格式的數(shù)據(jù)

    引入網(wǎng)絡(luò)模塊: mainwindow.h: mainwindow.cpp:

    2024年02月13日
    瀏覽(20)
  • 【Unity 3D】C#從JSON文件中讀取、解析、保存數(shù)據(jù)(附源碼)

    JSON是一種輕量級的數(shù)據(jù)交換格式,采用完全獨(dú)立于編程語言的文本格式存儲和表示數(shù)據(jù),簡潔和清晰的層次結(jié)構(gòu)使JSON成為理想的數(shù)據(jù)交換語言,易于讀者閱讀和編寫,同時也易于機(jī)器解析和生成,并有效的提高網(wǎng)絡(luò)傳輸效率 生成JSON數(shù)據(jù)實例代碼如下 下面的代碼將JSON中數(shù)據(jù)

    2024年02月11日
    瀏覽(161)
  • 從零開始使用C#做一個自己的UDP傳輸JSON數(shù)據(jù)應(yīng)用
  • c# Json轉(zhuǎn)C#實體

    1.Web Api獲取 Json數(shù)據(jù): 2.將Json轉(zhuǎn)C#實體類網(wǎng)址:JSON轉(zhuǎn)C#實體類-BeJSON.com 轉(zhuǎn)換后的實體類: 代碼實現(xiàn):引用庫文件:using Newtonsoft.Json; Json轉(zhuǎn)換實體的代碼: ?Newtonsoft.Json.Linq.JObject resInfo = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(retString)!; this.barcodeInfo = JsonConve

    2024年02月07日
    瀏覽(16)
  • c#示例-json序列化和json樹

    c#示例-json序列化和json樹

    由于指針和引用類型的存在,在運(yùn)行中的程序中,數(shù)據(jù)不一定是整塊的。 可能東一塊西一塊散落在內(nèi)存的各個地方。 序列,是指連續(xù)且有序的一個整體。序列化就是把數(shù)據(jù)變?yōu)檫B續(xù)有序整體的過程。 經(jīng)過這樣處理后的數(shù)據(jù)就可以方便的進(jìn)行傳輸和儲存了。 json是一種文本數(shù)

    2024年02月16日
    瀏覽(36)
  • C#讀取json文件

    C# 讀取 JSON 文件并讀取某一個的值可以使用 Newtonsoft.Json 庫。假設(shè)我們的 JSON 文件如下所示: 要讀取其中的某一個的值,首先需要定義一個對應(yīng)的實體類來存儲 JSON 數(shù)據(jù)。例如,可以定義以下類: 然后,可以使用以下代碼讀取 JSON 文件,并將其反序列化為 Pers

    2024年02月13日
    瀏覽(93)
  • C# json生成類

    C# json生成類

    ??在C#中使用Newtonsoft.Json解析JSON,首先需要安裝Newtonsoft.Json NuGet包。可以通過以下步驟進(jìn)行安裝: ??(1) 打開Visual Studio項目。 ??(2) 在“解決方案資源管理器”中,右鍵單擊項目,然后選擇“管理NuGet程序包”。在NuGet包管理器中,搜索“Newtonsoft.Json”。找到Newtonsoft.J

    2024年02月08日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包