首页 \ 问答 \ Haskell GHCi - 使用getContents在stdin上使用EOF字符(Haskell GHCi - Using EOF character on stdin with getContents)

Haskell GHCi - 使用getContents在stdin上使用EOF字符(Haskell GHCi - Using EOF character on stdin with getContents)

我喜欢通过粘贴到解释器来解析Python中的特殊字符串。

>>> s = """Adams, John
... Washington,George
... Lincoln,Abraham
... Jefferson, Thomas
... """
>>> print "\n".join(x.split(",")[1].replace(" ", "")
                    for x in s.strip().split("\n"))
John
George
Abraham
Thomas

这很适合使用Python解释器,但我想用Haskell / GHCi来做这件事。 问题是,我无法粘贴多行字符串。 我可以使用带有EOF字符的getContents,但是我只能执行一次,因为EOF字符关闭stdin。

Prelude> s <- getContents
Prelude> s
"Adams, John
Adams, John\nWashington,George
Washington,George\nLincoln,Abraham
Lincoln,Abraham\nJefferson, Thomas
Jefferson, Thomas\n^Z
"
Prelude> :{
Prelude| putStr $ unlines $ map ((filter (`notElem` ", "))
Prelude|                         . snd . (break (==','))) $ lines s
Prelude| :}
John
George
Abraham
Thomas
Prelude> x <- getContents
*** Exception: <stdin>: hGetContents: illegal operation (handle is closed)

使用GHCi有更好的方法吗? 注意 - 我对getContents(以及一般的Haskell IO)的理解可能会严重破坏。

更新

我会玩我收到的答案。 下面是我制作的一些帮助函数(剽窃),它模仿了Python的"""引用(以"""结尾,而不是从”ephemient“的答案结束)。

getLinesWhile :: (String -> Bool) -> IO String
getLinesWhile p = liftM unlines $ takeWhileM p (repeat getLine)

getLines :: IO String
getLines = getLinesWhile (/="\"\"\"")

在GHCi中使用AndrewC的答案 -

C:\...\code\haskell> ghci HereDoc.hs -XQuasiQuotes
ghci> :{
*HereDoc| let s = [heredoc|
*HereDoc| Adams, John
*HereDoc| Washington,George
*HereDoc| Lincoln,Abraham
*HereDoc| Jefferson, Thomas
*HereDoc| |]
*HereDoc| :}
ghci> putStrLn s
Adams, John
Washington,George
Lincoln,Abraham
Jefferson, Thomas
ghci> :{
*HereDoc| putStr $ unlines $ map ((filter (`notElem` ", "))
*HereDoc|                         . snd . (break (==','))) $ lines s
*HereDoc| :}
John
George
Abraham
Thomas

I like to parse strings ad hoc in Python by just pasting into the interpreter.

>>> s = """Adams, John
... Washington,George
... Lincoln,Abraham
... Jefferson, Thomas
... """
>>> print "\n".join(x.split(",")[1].replace(" ", "")
                    for x in s.strip().split("\n"))
John
George
Abraham
Thomas

This works great using the Python interpreter, but I'd like to do this with Haskell/GHCi. Problem is, I can't paste multi-line strings. I can use getContents with an EOF character, but I can only do it once since the EOF character closes stdin.

Prelude> s <- getContents
Prelude> s
"Adams, John
Adams, John\nWashington,George
Washington,George\nLincoln,Abraham
Lincoln,Abraham\nJefferson, Thomas
Jefferson, Thomas\n^Z
"
Prelude> :{
Prelude| putStr $ unlines $ map ((filter (`notElem` ", "))
Prelude|                         . snd . (break (==','))) $ lines s
Prelude| :}
John
George
Abraham
Thomas
Prelude> x <- getContents
*** Exception: <stdin>: hGetContents: illegal operation (handle is closed)

Is there a better way to go about doing this with GHCi? Note - my understanding of getContents (and Haskell IO in general) is probably severely broken.

UPDATED

I will be playing with the answers I have received. Here are some helper functions I made (plagiarized) that simulate Python's """ quoting (by ending with """, not starting) from ephemient's answer.

getLinesWhile :: (String -> Bool) -> IO String
getLinesWhile p = liftM unlines $ takeWhileM p (repeat getLine)

getLines :: IO String
getLines = getLinesWhile (/="\"\"\"")

To use AndrewC's answer in GHCi -

C:\...\code\haskell> ghci HereDoc.hs -XQuasiQuotes
ghci> :{
*HereDoc| let s = [heredoc|
*HereDoc| Adams, John
*HereDoc| Washington,George
*HereDoc| Lincoln,Abraham
*HereDoc| Jefferson, Thomas
*HereDoc| |]
*HereDoc| :}
ghci> putStrLn s
Adams, John
Washington,George
Lincoln,Abraham
Jefferson, Thomas
ghci> :{
*HereDoc| putStr $ unlines $ map ((filter (`notElem` ", "))
*HereDoc|                         . snd . (break (==','))) $ lines s
*HereDoc| :}
John
George
Abraham
Thomas

原文:https://stackoverflow.com/questions/12119420
更新时间:2023-06-20 17:06

最满意答案

演示网址: -

http://jquery.malsup.com/form/progress.html

你可以从这个URL下载jQuery文件并添加html <head>标签

http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js

http://malsup.github.com/jquery.form.js

尝试这个:

这是我的HTML标记:

<!doctype html>
<head>
<title>File Upload Progress Demo #1</title>
<style>
body { padding: 30px }
form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px }

.progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
.bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; }
.percent { position:absolute; display:inline-block; top:3px; left:48%; }
</style>
</head>
<body>
    <h1>File Upload Progress Demo #1</h1>
    <code>&lt;input type="file" name="myfile"></code>
        <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="uploadedfile"><br>
        <input type="submit" value="Upload File to Server">
    </form>

    <div class="progress">
        <div class="bar"></div >
        <div class="percent">0%</div >
    </div>

    <div id="status"></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
(function() {

var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');

$('form').ajaxForm({
    beforeSend: function() {
        status.empty();
        var percentVal = '0%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    uploadProgress: function(event, position, total, percentComplete) {
        var percentVal = percentComplete + '%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    complete: function(xhr) {
     bar.width("100%");
    percent.html("100%");
        status.html(xhr.responseText);
    }
}); 

})();       
</script>

</body>
</html>   

我的php代码:

<?php
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

Demo url:--

http://jquery.malsup.com/form/progress.html

You can download jQuery files from this url and add in html <head> tag

http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js

http://malsup.github.com/jquery.form.js

Try this:

This is my html markup:

<!doctype html>
<head>
<title>File Upload Progress Demo #1</title>
<style>
body { padding: 30px }
form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px }

.progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
.bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; }
.percent { position:absolute; display:inline-block; top:3px; left:48%; }
</style>
</head>
<body>
    <h1>File Upload Progress Demo #1</h1>
    <code>&lt;input type="file" name="myfile"></code>
        <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="uploadedfile"><br>
        <input type="submit" value="Upload File to Server">
    </form>

    <div class="progress">
        <div class="bar"></div >
        <div class="percent">0%</div >
    </div>

    <div id="status"></div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
(function() {

var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');

$('form').ajaxForm({
    beforeSend: function() {
        status.empty();
        var percentVal = '0%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    uploadProgress: function(event, position, total, percentComplete) {
        var percentVal = percentComplete + '%';
        bar.width(percentVal)
        percent.html(percentVal);
    },
    complete: function(xhr) {
     bar.width("100%");
    percent.html("100%");
        status.html(xhr.responseText);
    }
}); 

})();       
</script>

</body>
</html>   

My php code:

<?php
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

相关问答

更多
  • 尝试替换代码: data = new FormData($('#form')); 有了这个: data = new FormData($('#form')[0]); 从jQuery数组中获取第一个DOM元素。 Try to replace the code: data = new FormData($('#form')); with this: data = new FormData($('#form')[0]); to get the first DOM element from the jQue ...
  • FormData构造函数将HTMLFormElement作为参数而不是选择器字符串或jQuery对象。 data: new FormData(document.getElementById('info_for')), 要么 data: new FormData($('#info_for')[0]), 要么 data: new FormData(document.querySelector('#info_for')), The FormData Constructor takes an HTMLForm ...
  • 你可以使用这个插件: http://aquantum-demo.appspot.com/file-upload 要么 http://valums.com/files/2010/file-uploader/demo.htm 要么 http://www.uploadify.com/demos/ you can use this plugins : http://aquantum-demo.appspot.com/file-upload or http://valums.com/files/2010/file-u ...
  • 演示网址: - http://jquery.malsup.com/form/progress.html 你可以从这个URL下载jQuery文件并添加html 标签 http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js http://malsup.github.com/jquery.form.js 尝试这个: 这是我的HTML标记: File Upload Progress D ... </div> </div> </li> <li class="tw_li clearfix"> <div class="tw_li_con"> <div class="tw_li_title"> <h2><a href="/wenda/phpajaxajaxscdxnr413httpdm_337" target="_blank">PHP + Ajax:通过Ajax上传大型内容(413 HTTP代码)(PHP + Ajax: Uploading large content via Ajax (413 HTTP Code))</a><i>[2022-10-06] </i></h2> </div> <div class="tw_li_cont"> 对于将来遇到类似问题的人,我在这个问题的答案中找到了答案 基本上我们将使用以下命令将base64字符串作为blob添加到formData对象: var formData = new FormData(); var blob = new Blob(['Lorem ipsum'], { type: 'plain/text' }); formData.append('file', blob,'readme.txt'); 这似乎模仿了文件输入的行为。 For anyone having similar probl ... </div> </div> </li> <li class="tw_li clearfix"> <div class="tw_li_con"> <div class="tw_li_title"> <h2><a href="/wenda/daiajaxphpshangchuanwenjian_349" target="_blank">使用带Ajax的PHP上传文件(Upload a file using PHP with Ajax)</a><i>[2023-06-11] </i></h2> </div> <div class="tw_li_cont"> 我用这种方式解决了这个问题。 <form method="POST" id="formLic" name="formLic" enctype="multipart/form-data"> <label for="lnumero">Número: </label> <input type="text" id="lnumero"/> <label for="larchivo">Archivo: </label> <input type="file" id="larchivo"/> </f ... </div> </div> </li> <li class="tw_li clearfix"> <div class="tw_li_con"> <div class="tw_li_title"> <h2><a href="/wenda/ajaxphpscwjscxwt_371" target="_blank">使用ajax和php上传文件时出现问题(issue while uploading a file using ajax and php)</a><i>[2022-06-13] </i></h2> </div> <div class="tw_li_cont"> 您正在使用名称file发送图像 $_FILES['file'] 代替 $_FILES['LogoImageUploader'] 或者改变js formData.append('LogoImageUploader', $('#LogoImageUploader')[0].files[0]); You are sending image by name file so use $_FILES['file'] Instead of $_FILES['LogoImageUploader'] Or ... </div> </div> </li> <li class="tw_li clearfix"> <div class="tw_li_con"> <div class="tw_li_title"> <h2><a href="/wenda/phpshangchuanajaxduowenjian_506" target="_blank">用php上传ajax多文件(ajax multiple file upload with php)</a><i>[2020-11-25] </i></h2> </div> <div class="tw_li_cont"> 您可以使用表单数据传递多个文件,如下所示 HTML <input id="fuDocument" type="file" accept="image/*" multiple="multiple" /> JS var fd = new FormData(); var files = $("#fuDocument").get(0).files; // this is my file input in which We can select multiple files. fd.append("label", ... </div> </div> </li> <li class="tw_li clearfix"> <div class="tw_li_con"> <div class="tw_li_title"> <h2><a href="/wenda/ajaxjquerylyphpwjscxstx_569" target="_blank">通过ajax和jquery从另一个php文件上传后显示图像(Display the image after uploading it from another php file through ajax and jquery)</a><i>[2021-11-12] </i></h2> </div> <div class="tw_li_cont"> 试试这个代码。 这是核心。 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#imgInp').on('change', function ... </div> </div> </li> </ul> </div> <div class="main_right"> <div class="search-out"> <div class="search"> <form action="/wenda" target="_blank" method="get"> <input type="search" autocorrect="off" autocomplete="off" placeholder="请输入关键词" id="q" name="q" value=""> <button class="btn_s" type="submit">搜索</button> </form> </div> </div> <div class="commonh"> <h2>相关文章</h2> <span class="fr"><a href="/jiaocheng" target="_blank">更多</a></span> </div> <div class="right_list"> <li> <a title="Java Character类" href="/article/JavaCharacterlei_0" target="_blank">Java Character类</a> </li> <li> <a title="启动Solr服务报错:Path must not end with / character" href="/article/qdSolrfwbcPathmustnotendwithcharacter_2" target="_blank">启动Solr服务报错:Path must not end with / character</a> </li> <li> <a title="The Sorrows of Young Werther" href="/article/TheSorrowsofYoungWerther_3" target="_blank">The Sorrows of Young Werther</a> </li> <li> <a title="Python 在Linux中使用SQLite3" href="/article/PythonzLinuxzsySQLite3_0" target="_blank">Python 在Linux中使用SQLite3</a> </li> <li> <a title="howto:solr post.jar使用" href="/article/howtosolrpostjarshiyong_2" target="_blank">howto:solr post.jar使用</a> </li> <li> <a title="Solr特殊字符处理" href="/article/Solrteshuzifuchuli_2" target="_blank">Solr特殊字符处理</a> </li> <li> <a title="去除请求链接中带有%号的方法" href="/article/qcqqljzdyhdff_5" target="_blank">去除请求链接中带有%号的方法</a> </li> <li> <a title="Python 列表(list)操作" href="/article/Pythonliebiaolistcaozuo_0" target="_blank">Python 列表(list)操作</a> </li> <li> <a title="Solr特殊字符转义处理" href="/article/Solrteshuzifuzhuanyichuli_2" target="_blank">Solr特殊字符转义处理</a> </li> <li> <a title="Hadoop字符转码的实现" href="/article/Hadoopzifuzhuanmadeshixian_0" target="_blank">Hadoop字符转码的实现</a> </li> </div> <div class="commonh"> <h2>最新问答</h2> <span class="fr"><a href="/wenda" target="_blank">更多</a></span> </div> <div class="right_list"> <li> <a title="如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])" href="/wenda/zyzyzzhdlphpwz_490" target="_blank">如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])</a> </li> <li> <a title="如何打破按钮上的生命周期循环(How to break do-while loop on button)" href="/wenda/dapoanniushengmingzhouqixunhuan_177" target="_blank">如何打破按钮上的生命周期循环(How to break do-while loop on button)</a> </li> <li> <a title="C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)" href="/wenda/ceffwmvcflzdysx_128" target="_blank">C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)</a> </li> <li> <a title="如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)" href="/wenda/facebookapppublish_streamqx_89" target="_blank">如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)</a> </li> <li> <a title="如何并排放置两个元件?(How to position two elements side by side?)" href="/wenda/paifanglianggeyuanjian_476" target="_blank">如何并排放置两个元件?(How to position two elements side by side?)</a> </li> <li> <a title="在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)" href="/wenda/mysqldlzsdgbyyrailsyycx_475" target="_blank">在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)</a> </li> <li> <a title="如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)" href="/wenda/yinzanggugeditudengluanniu_302" target="_blank">如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)</a> </li> <li> <a title="Mysql左连接旋转90°表(Mysql Left join rotate 90° table)" href="/wenda/mysqlzuolianjiexuanzhuan90biao_102" target="_blank">Mysql左连接旋转90°表(Mysql Left join rotate 90° table)</a> </li> <li> <a title="带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)" href="/wenda/dyimagemagicktxgifdh_193" target="_blank">带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)</a> </li> <li> <a title="电脑高中毕业学习去哪里培训" href="/wenda/diannaogaozhongbiyexuexipeixun_4" target="_blank">电脑高中毕业学习去哪里培训</a> </li> <li> <a title="电脑系统专业就业状况如何啊?" href="/wenda/dnxtzyjyzk_16" target="_blank">电脑系统专业就业状况如何啊?</a> </li> <li> <a title="IEnumerable <dynamic> linq表达式(IEnumerable<dynamic> linq expressions)" href="/wenda/ienumerabledynamiclinqbiaodashi_290" target="_blank">IEnumerable <dynamic> linq表达式(IEnumerable<dynamic> linq expressions)</a> </li> <li> <a title="如何在Spring测试中连接依赖关系(How to wire dependencies in Spring tests)" href="/wenda/hzspringcszljylgx_279" target="_blank">如何在Spring测试中连接依赖关系(How to wire dependencies in Spring tests)</a> </li> <li> <a title="Solr可以在没有Lucene的情况下运行吗?(Can Solr run without Lucene?)" href="/wenda/solrluceneqingkuangxiayunxing_321" target="_blank">Solr可以在没有Lucene的情况下运行吗?(Can Solr run without Lucene?)</a> </li> <li> <a title="如何保证Task在当前线程上同步运行?(How to guarantee that a Task runs synchronously on the current thread?)" href="/wenda/bztaskzdqxtbyx_391" target="_blank">如何保证Task在当前线程上同步运行?(How to guarantee that a Task runs synchronously on the current thread?)</a> </li> <li> <a title="在保持每列的类的同时向数据框添加行(Adding row to data frame while maintaining the class of each column)" href="/wenda/lieleishujukuangtianjiaxing_125" target="_blank">在保持每列的类的同时向数据框添加行(Adding row to data frame while maintaining the class of each column)</a> </li> <li> <a title="的?(The ? marks in emacs/haskell and ghc mode)" href="/wenda/dThemarksinemacshaskellandghcmod_488" target="_blank">的?(The ? marks in emacs/haskell and ghc mode)</a> </li> <li> <a title="一个线程可以调用SuspendThread传递自己的线程ID吗?(Can a thread call SuspendThread passing its own thread ID?)" href="/wenda/xcdysuspendthreadcdxcid_524" target="_blank">一个线程可以调用SuspendThread传递自己的线程ID吗?(Can a thread call SuspendThread passing its own thread ID?)</a> </li> <li> <a title="延迟socket.io响应,并“警告 - websocket连接无效”(Delayed socket.io response, and “warn - websocket connection invalid”)" href="/wenda/ycsocketioxyjgwebsocketljwx_335" target="_blank">延迟socket.io响应,并“警告 - websocket连接无效”(Delayed socket.io response, and “warn - websocket connection invalid”)</a> </li> <li> <a title="悬停时的图像转换(Image transition on hover)" href="/wenda/xuantingshituxiangzhuanhuan_138" target="_blank">悬停时的图像转换(Image transition on hover)</a> </li> <li> <a title="IIS 7.5仅显示homecontroller(IIS 7.5 only shows homecontroller)" href="/wenda/iis75jinxianshihomecontroller_266" target="_blank">IIS 7.5仅显示homecontroller(IIS 7.5 only shows homecontroller)</a> </li> <li> <a title="没有JavaScript的复选框“关闭”值(Checkbox 'off' value without JavaScript)" href="/wenda/javascriptfuxuankuangguanbizhi_557" target="_blank">没有JavaScript的复选框“关闭”值(Checkbox 'off' value without JavaScript)</a> </li> <li> <a title="java分布式框架有哪些" href="/wenda/javafenbushikuangjia_39" target="_blank">java分布式框架有哪些</a> </li> <li> <a title="Python:填写表单并点击按钮确认[关闭](Python: fill out a form and confirm with a button click [closed])" href="/wenda/pythontxbddjanqrgb_400" target="_blank">Python:填写表单并点击按钮确认[关闭](Python: fill out a form and confirm with a button click [closed])</a> </li> <li> <a title="PHP将文件链接到根文件目录(PHP Linking Files to Root File Directory)" href="/wenda/phpwenjianlianjiegenwenjianmulu_324" target="_blank">PHP将文件链接到根文件目录(PHP Linking Files to Root File Directory)</a> </li> <li> <a title="我如何删除ListView中的项目?(How I can remove a item in my ListView?)" href="/wenda/sclistviewzxm_306" target="_blank">我如何删除ListView中的项目?(How I can remove a item in my ListView?)</a> </li> <li> <a title="您是否必须为TFS(云)中的每个BUG创建一个TASK以跟踪时间?(Do you have to create a TASK for every BUG in TFS (Cloud) to track time?)" href="/wenda/tfsyzbugcjtaskgzsjtracktime_368" target="_blank">您是否必须为TFS(云)中的每个BUG创建一个TASK以跟踪时间?(Do you have to create a TASK for every BUG in TFS (Cloud) to track time?)</a> </li> <li> <a title="typoscript TMENU ATagParams小写(typoscript TMENU ATagParams lowercase)" href="/wenda/typoscripttmenuatagparamsxiaoxie_427" target="_blank">typoscript TMENU ATagParams小写(typoscript TMENU ATagParams lowercase)</a> </li> <li> <a title="武陟会计培训类的学校哪个好点?" href="/wenda/wzhjpxlxxhd_23" target="_blank">武陟会计培训类的学校哪个好点?</a> </li> <li> <a title="从链接中删除文本修饰(Remove text decoration from links)" href="/wenda/lianjiezhongshanchuwenbenxiushi_472" target="_blank">从链接中删除文本修饰(Remove text decoration from links)</a> </li> </div> </div> </div> </div> <div style="clear:both;"></div> <div class="footer"> <div class="mainbox"> <div class="info"> <p>Copyright ©2023 <a href="https://www.peixunduo.com" target="_blank">peixunduo.com</a> All Rights Reserved.<a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备14003112号</a> </p> <p>本站部分内容来源于互联网,仅供学习和参考使用,请莫用于商业用途。如有侵犯你的版权,请联系我们(neng862121861#163.com),本站将尽快处理。谢谢合作!</p> </div> </div> </div> <script type="text/javascript" src="/resources/js/common.js?v=324"></script> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?9eebaceb5e4371a0aad59712a1a1ecff"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>