繁体   English   中英

C# 使用 WebRequest 从脚本中获取值

[英]C# get a value from script using WebRequest

我需要从 Webrequest 响应中的脚本中获取一个值。 代码是这样的:

<script type="text/javascript">
        var CUS = CUS || {};
        CUS.namespace('CUS.model');
        CUS.model.page = {"Key":"needed Value"};
<script>

如果我得到,我可以反序列化那个 json,这个获取过程有什么好的用途吗?

编辑:让我试着抱怨; 我收到来自 HttpWebRequest 的响应及其 html 文档,如下所示

string result; 

HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); 
document.LoadHtml(result); 

“结果”变量有:

    <script type="text/javascript">
       var CUS = CUS || {}; 
       CUS.namespace('CUS.model');
       CUS.model.page = {"Key":"needed Value"}//It seems like json!; 
    <script>

我需要得到“CUS.model.page =”的东西。

您可以使用正则表达式来提取密钥。

string result = @"
<script type=""text/javascript"">
    var CUS = CUS || {}; 
    CUS.namespace('CUS.model');
    CUS.model.page = {""Key"":""needed Value""}//It seems like json!; 
<script>";

Match match = Regex.Match(input, @"(CUS\.model\.page\s*=\s*)({""Key"":"")(.*)(""})");
string key = match.Success ? match.Groups[3].Value : null;

您可以调整正则表达式以使其更加健壮,以防脚本标签中的内容将来发生变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM